Commit graph

327 commits

Author SHA1 Message Date
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
Sam Vervaeck
cd1e20d460 Partially implement a type checker 2022-08-21 16:25:52 +02:00
Sam Vervaeck
fee5085497 Create a working scanner/parser for a subset of the language 2022-08-19 19:53:23 +02:00