Commit graph

302 commits

Author SHA1 Message Date
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
204d2961e3 Improve diagnostic messages for unification errors 2022-09-06 11:56:17 +02:00
70f9f99181 Clean up some code in checker.ts 2022-09-05 19:38:55 +02:00
88e09052e6 Fix support for nesting of scopes in type-checker 2022-09-05 19:33:37 +02:00
062ca46752 Make recursive function definitions work 2022-09-05 17:25:55 +02:00
20af138fa5 Minor changes
- Refactor Constructor to IdentifierAlt
 - Make () -> a unify with a
2022-09-01 20:18:47 +02:00
666256ed15 Add support for type-checking recursion and improove Checker.addConstraint 2022-09-01 20:07:09 +02:00
d2e6f9ed4f Fix type-checking return statements 2022-08-31 13:55:00 +02:00
12559e93a2 Fix incorrect typing of ReturnStatement.expression 2022-08-31 13:54:22 +02:00
6063b5f591 Enable parsing let declaration block bodies 2022-08-31 13:53:57 +02:00
3381a2bd5d Fix a let body not closing properly during parsing 2022-08-31 13:46:18 +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
cda44e4c25 Extend scanner/parser to support more syntactic structures 2022-08-29 16:17:55 +02:00
d813e85d00 Enable parsing of simple let-expressions 2022-08-28 21:12:25 +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
45b5f113a0 Allow line comments in Bolt sources 2022-08-25 16:12:47 +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
a4a2b4cca5 Add bolt::TextFile and add testing infrasturcture 2022-08-22 15:33:46 +02:00
311f1d228b Improve diagnostics and type checking 2022-08-21 20:56:58 +02:00