Commit graph

21 commits

Author SHA1 Message Date
6c29d49ac6 Add experimental support for match-expressions and some new patterns 2022-09-16 11:31:34 +02:00
2d10ceedc9 Multiple enhancements
- Make record expressions anonymous
 - Introduce `TNominal`
 - Add experimental support for type declarations (fixes #32)
 - Fix inference of StructDeclaration
2022-09-15 20:36:15 +02:00
175cdbd394 Prefix kind variables with 'k' instead of 'a' 2022-09-15 13:47:41 +02:00
2f359107c4 Multiple fixes related to the type-checker
- Add more tests
 - Make struct-declarations type-check
 - Split environment into type bindings and variable bindings
 - Fix kind inference adding the wrong element to the env
2022-09-15 11:49:53 +02:00
c5fe5004b6 Many fixes and add better support for enum-declarations 2022-09-14 22:34:53 +02:00
4cc2b23109 Add experimental support for kind inference 2022-09-14 16:46:30 +02:00
988215cdb3 Multiple updates to the type-checker
- Add support for type declarations
- Make polymorphism in struct declarations work
2022-09-11 11:20:21 +02:00
3611dedf24 Enable parsing enum-declarations 2022-09-10 14:11:04 +02:00
843be74e48 Add support for indenting in type-checker 2022-09-09 20:18:51 +02:00
dac8c9d946 First attempt at making the typing diagnositcs prettier 2022-09-09 20:02:35 +02:00
ebf600bdfc Fix parse diagnostics not working 2022-09-08 23:35:07 +02:00
80bfc5f57b Improve type-checking of struct declarations/expressions 2022-09-08 23:32:44 +02:00
b4fc8c87cb Add a simple test script 2022-09-08 15:58:08 +02:00
00bcaa93ee Make record types partially work 2022-09-07 12:45:38 +02:00
204d2961e3 Improve diagnostic messages for unification errors 2022-09-06 11:56:17 +02:00
062ca46752 Make recursive function definitions work 2022-09-05 17:25:55 +02:00
666256ed15 Add support for type-checking recursion and improove Checker.addConstraint 2022-09-01 20:07:09 +02:00
2d880f0f0d Improve diagnostics for parsing errors 2022-08-31 13:45:46 +02:00
eac4279a5e Make scanner work with exceptions 2022-08-31 13:37:26 +02:00
48f1b0f45c Add some type-checking logic and improve diagnostics 2022-08-31 13:29:56 +02:00
d813e85d00 Enable parsing of simple let-expressions 2022-08-28 21:12:25 +02:00