Commit graph

29 commits

Author SHA1 Message Date
fa294b826e
Fix diagnostic message for Parser::parsePattern() 2023-05-31 11:16:28 +02:00
eaead44b18
Fix some parsing issues in MatchExpression 2023-05-31 11:15:31 +02:00
87af4686b7
Split let-declaration up into function/variable declarations 2023-05-30 21:34:40 +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
dfaa91c9b6
Add support for parsing more nodes and small fixes
- AppTypeExpression, NestedPattern, NamedPattern and VariantDeclaration
can now be parsed.
 - Fixed some memory leaks when a parse error is encountered
2023-05-28 21:49:32 +02:00
3efd2a6d6a
Fix some memory leaks and add comment in Parser.cc 2023-05-27 20:57:43 +02:00
8e4fae2228
Improve behavior of parser when failing on a BlockStart 2023-05-27 18:53:38 +02:00
cc24825ef1
Remove now unused macro BOLT_EXPECT_TOKEN 2023-05-27 15:25:52 +02:00
16e85f26bd
Add support for parsing record declarations 2023-05-27 15:25:17 +02:00
91c4b75bc1
Fix crash when parsing invalid class declaration element 2023-05-26 23:46:47 +02:00
9afdd1e607
Make parser more forgiving 2023-05-26 19:51:12 +02:00
6967f9a060
Sort diangostics by node and refactor ConsoleDiagnostics 2023-05-24 14:11:59 +02:00
5ac162cd72
Add support for nested/tuple type expressions 2023-05-23 22:36:01 +02:00
acbfeb8975
Fix type class constraint expressions not being correctly parsed 2023-05-23 20:04:41 +02:00
508ef40bdf
Implement tuples and fix bug with type vars in infer/unify algorithm 2023-05-22 17:06:31 +02:00
bce5bffa85
Add support for parsing member expressions 2023-05-22 11:54:52 +02:00
56cbfc6fbe
Add support for literal patterns 2023-05-21 17:36:44 +02:00
fb5a9df48b
Fix some parsing issues for MatchExpression 2023-05-21 17:13:47 +02:00
b6706dd801
Fix constructors like True and False not being parsed 2023-05-21 14:50:28 +02:00
1f94b7f799
Add support for match-expressions in parser 2023-05-21 11:30:25 +02:00
66d7b90f82
Clean up some code and introduce IdentifierAlt 2023-05-21 00:25:01 +02:00
db26fd3b18
Add experimental support for type classes and many more enhancements 2023-05-20 23:48:26 +02:00
cfb596f8e1 Add partial support for recursive functions 2022-08-26 22:10:18 +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
Sam Vervaeck
cd1e20d460 Partially implement a type checker 2022-08-21 16:25:52 +02:00
Sam Vervaeck
fee5085497 Create a working scanner/parser for a subset of the language 2022-08-19 19:53:23 +02:00