e92e346bad
Decouple type checking info from CST and refactor checker.ts a bit
2023-08-12 13:46:19 +02:00
859b1676fd
Clean up type checking code a bit
2023-08-02 10:37:13 +02:00
89feeaadb6
Remove reference to TNominal in checker.ts
2023-07-28 20:42:24 +02:00
985e2d0652
Improve handing of struct/enum types and declarations
...
Also removes TNominal from the list of types because it is redundant
w.r.t. TCon.
2023-07-04 20:38:40 +02:00
7a0cb6753a
Add a 'verify' command, ...
...
- Add a command to check the integrity of the compiler
- Add a diagnostic when a tuple index is out of bounds
- Make 'build' the default command
- ...
2023-06-30 19:30:42 +02:00
d194ff9b2e
Fix rigid type vars not instantiating correctly by introducing
...
union-find
2023-06-28 22:09:17 +02:00
650cecb707
Add rigid type vars and some other enhancements
...
- Add TRigidVar as a type
- Make VarTypeExpression generate a TRigidVar
- Rename `TVar` to `TUniVar`
- Make kind checker use `kindOfType` instead of `new KType()`.
2023-06-26 18:54:20 +02:00
91a4872c34
Merge solver back with checker and apply algorithm for eager constraint
...
solving
2023-06-22 16:19:51 +02:00
2f9b6db5af
Adjust the way let-declarations are visited in the type-checker
...
Let-declarations are now roughly visited in the order they are
referenced, resulting in constraints being propagated in the same way.
2023-06-22 15:30:14 +02:00
f58011e50e
Refactor by splitting into multiple files
2023-06-21 16:56:04 +02:00
3fc184a0ce
Move compiler to its own subdirectory
2023-04-14 20:04:14 +02:00