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
41aa820bca
Fix scope resolution
2023-05-30 13:35:26 +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
4acb76159f
Add CST definitions for record expressions and rename StructDeclaration
2023-05-26 15:36:14 +02:00
4a501c1f77
Remove unused comment in CST.cc
2023-05-26 15:19:40 +02:00
2448a70c76
Fix panic when trying to print tokens
2023-05-24 20:33:32 +02:00
04fffbe9aa
Refactor a bit and split header Diagnostics.hpp
2023-05-24 19:38:04 +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
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
4e27d778f0
Add some comments and lookup type class let declaration with Scope::lookupDirect()
2023-05-21 20:33:06 +02:00
6ea27d81f4
Fix assertion error in Scope on encountering a LiteralPattern
2023-05-21 20:16:15 +02:00
093f307098
Fix instance declarations not being correctly typechecked
2023-05-21 20:14:41 +02:00
56cbfc6fbe
Add support for literal patterns
2023-05-21 17:36:44 +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
2f8ea813bc
Add deps, update cade a bit and add generators
2023-04-12 11:15:36 +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