Commit graph

9 commits

Author SHA1 Message Date
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
Renamed from src/checker.ts (Browse further)