Commit graph

28 commits

Author SHA1 Message Date
f63d892662
Re-introduce let declarations
Closes #42
2023-06-03 14:35:02 +02:00
4294063921
Simplify TArrow type as described in issue #42 2023-06-03 11:45:14 +02:00
3a93952b36
Fix error while printing record types 2023-06-02 21:38:06 +02:00
693301bac6
Improve support for type classes and simplify algorithm 2023-06-01 16:22:37 +02:00
a460b3b28a
Fix some bugs in print logic of CST nodes 2023-05-31 15:05:47 +02:00
717a2a663a
Some fixes and new pattern syntax
- Fix critical bug in deallocator
 - Add TuplePattern
 - Add ListPattern
 - Make Checker hold a ListType
2023-05-31 12:39:19 +02:00
75e0ebc14b
Disable printing the full type(s) on error for now 2023-05-30 21:36:46 +02:00
87af4686b7
Split let-declaration up into function/variable declarations 2023-05-30 21:34:40 +02:00
63547ee0a5
Fix some regressions due to previous commits 2023-05-30 15:27:21 +02:00
6bd8ecff39
Major update to code base
- Add partial support for extensible records
 - Rewrite unifier in Checker.cc
 - Make use of union/find instead of a HashMap for type variables
 - Enhance diagnostic messages
 - Add a variant type
 - Add application types (TApp)
 - Some smaller bugfixes
2023-05-29 20:37:23 +02:00
39d576c799
Print a Unicode arrow when TextRange is empty in diagnostics 2023-05-27 18:48:44 +02:00
bed5d3cbc4
Enhance 'but got x' output on parse error 2023-05-26 23:48:58 +02:00
06127ff624
Improve checking recursive functions and some minor fixes 2023-05-26 14:30:50 +02:00
04fffbe9aa
Refactor a bit and split header Diagnostics.hpp 2023-05-24 19:38:04 +02:00
31d813e94b
Fix spacing in InstanceNotFoundDiagnostic 2023-05-24 19:00:02 +02:00
6967f9a060
Sort diangostics by node and refactor ConsoleDiagnostics 2023-05-24 14:11:59 +02:00
b23dc84f72
Fix variable declarations, fix regression due to eager solving, fix unification 2023-05-23 16:07:58 +02:00
302823ac9b
Split up Checker.hpp and make room for better type mismatch errors 2023-05-22 22:37:58 +02:00
508ef40bdf
Implement tuples and fix bug with type vars in infer/unify algorithm 2023-05-22 17:06:31 +02:00
fd015dcf22
Fix crash when MatchExpression is expected 2023-05-22 11:55:31 +02:00
b6706dd801
Fix constructors like True and False not being parsed 2023-05-21 14:50:28 +02:00
db26fd3b18
Add experimental support for type classes and many more enhancements 2023-05-20 23:48:26 +02:00
43301a3a44 Add basic support for if-statements 2022-08-25 23:04:09 +02:00
b4d54f025c Improve type inference and some minor updates 2022-08-25 19:04:25 +02:00
fcea25c9bb Improve diagnostic output 2022-08-24 20:57:26 +02:00
fb69ab745c Add more methods to bolt::Node and improve diagnostics 2022-08-24 12:36:43 +02:00
311f1d228b Improve diagnostics and type checking 2022-08-21 20:56:58 +02:00
Sam Vervaeck
fee5085497 Create a working scanner/parser for a subset of the language 2022-08-19 19:53:23 +02:00