Commit graph

115 commits

Author SHA1 Message Date
14c7ce6db5 Fix typo in preview image 2022-09-16 11:39:26 +02:00
1a4a07bdd1 Clean up unused nodes in cst.ts 2022-09-16 11:35:18 +02:00
6c29d49ac6 Add experimental support for match-expressions and some new patterns 2022-09-16 11:31:34 +02:00
bf6302b173 Fix remaining TypeScript type error 2022-09-16 10:53:36 +02:00
a378f8276d Enable parsing of tuple expressions 2022-09-16 10:25:24 +02:00
f11ad9028e Fix wrong node being printed when diagnosing the origin of a type 2022-09-15 23:05:34 +02:00
9bf81c56db Allow record expressions to cover multiple lines 2022-09-15 22:49:20 +02:00
9221441aa4 Multiple updates to the kind inferencer
- Clean up some code
 - Ensure more syntax is covered during kind inference
 - Make wrongly kinded types not trigger another typing error in the
   next layer
2022-09-15 22:39:20 +02:00
4939ee5e08 Remove dangling debug statement in checker.ts 2022-09-15 20:50:02 +02:00
31e99fd8ba Clean up some code and fix all TypeScript type errors 2022-09-15 20:49:11 +02:00
21a05cf62d Add missing analysis.ts 2022-09-15 20:49:11 +02:00
c1e17955cd Revert commit e3d00f6 and really fix kind unification
Fixes #37.
2022-09-15 20:49:01 +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
3152db9d32 Update type-checker tests 2022-09-15 19:35:02 +02:00
fe4cc61819 Fix all TypeScript type errors 2022-09-15 16:56:02 +02:00
9d28d47d6f Add an analysis module and integrate with type checker
Fixes #34.
2022-09-15 16:06:04 +02:00
83226621e3 Add support for inferring kinds from ArrowTypeExpression 2022-09-15 16:04:02 +02:00
6110509c41 Make kind inferencer support structs inside let-declarations 2022-09-15 13:56:58 +02:00
487e6d4994 Organize imports in checker.ts 2022-09-15 13:49:45 +02:00
685ff3cf2d Fix kind inference not detecting when too many arguments are applied 2022-09-15 13:49:07 +02:00
e3d00f6146 Add a Bool type to the initial type checking environment 2022-09-15 13:48:08 +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
2ec8649456 Fix bug in enum-declaration inference and fix some type errors 2022-09-14 23:09:22 +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
0eada4068c Add some more type inference tests 2022-09-11 15:27:32 +02:00
85528ad8af Improve handling of polymorphic datatypes 2022-09-11 15:23:22 +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
d12ffa1de5 Fix type errors in bolt-selftest.ts 2022-09-10 17:46:57 +02:00
be2ba1023d Add typings for 'commonmark' and 'glob' packages 2022-09-10 17:46:37 +02:00
5f373a9d13 Make struct-declarations polymorphic 2022-09-10 16:52:14 +02:00
15f87ecc67 Add image of sample code in README.md 2022-09-10 14:36:01 +02:00
457d06b487 Add preview of calculating the faculty 2022-09-10 14:32:28 +02:00
02e3806ceb Add a README.md 2022-09-10 14:27:19 +02:00
3611dedf24 Enable parsing enum-declarations 2022-09-10 14:11:04 +02:00
7b3f1948bb Remove TAny; support operator declarations and arrow type expressions 2022-09-09 22:37:14 +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
f1a365e29c Add support for parsing/type-checking member expressions 2022-09-09 00:00:28 +02:00
ebf600bdfc Fix parse diagnostics not working 2022-09-08 23:35:07 +02:00
088bdc94c2 Add missing index.ts 2022-09-08 23:33:41 +02:00
19af942889 Define some tests for the type-checker 2022-09-08 23:33:07 +02:00
80bfc5f57b Improve type-checking of struct declarations/expressions 2022-09-08 23:32:44 +02:00
e5563dd33d Fix critical bug in unification algorithm 2022-09-08 23:19:15 +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
97150d64e0 Add better support for if-statements in type-checker 2022-09-06 15:17:27 +02:00
cf5978c86c Make type-checker catch all errors and update YAGL 2022-09-06 15:13:07 +02:00
469b0cc756 Simplify types in diagnostic messages and constraint-solve ALL
constraints
2022-09-06 13:40:20 +02:00