f2ea45873c
Fix minor indentation issue in checker.ts
2023-04-12 14:27:21 +02:00
9c24ddb07e
Move 'type class exists' check to initialze()
2023-04-12 14:26:39 +02:00
c559d13df9
Minor improvements, add some experimental type class logic and refactor diagnostics
2023-03-16 21:50:15 +01:00
df5f857905
Add extensible records and add foundations for typeclasses
2023-03-14 13:15:33 +01:00
3e14538d15
[WIP] Add support for typeclasses
2023-02-03 17:52:34 +01:00
4fed500ea3
Fix assignment of type to a type expression in checker.ts
2022-09-19 14:06:12 +02:00
0d5c791a70
Refactor and improve module references in kind inference
2022-09-18 19:33:34 +02:00
3e169e9ab9
Add experimental support for referencing module elements
2022-09-18 14:33:49 +02:00
cea177e4a6
Add support for parsing module declarations
2022-09-17 13:20:49 +02:00
cd357e03f5
Add support for tuples
2022-09-16 12:43:06 +02:00
1ea65236a5
Add support for currying
2022-09-16 12:00:00 +02:00
a94b05df61
Fix lambdas not being correctly generated for match-expressions
2022-09-16 11:57:45 +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
f11ad9028e
Fix wrong node being printed when diagnosing the origin of a type
2022-09-15 23:05:34 +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
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
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
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
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
5f373a9d13
Make struct-declarations polymorphic
2022-09-10 16:52:14 +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
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
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