Martin Fredin
|
a38e96a83b
|
Fix Ident print instance
|
2023-03-27 20:51:00 +02:00 |
|
sebastianselander
|
6e54378327
|
Fixed errors in tc hm
|
2023-03-27 16:48:23 +02:00 |
|
Samuel Hammersberg
|
750503063a
|
Fixed the dependency on the Grammar Ident.
|
2023-03-27 16:31:47 +02:00 |
|
Martin Fredin
|
b7be75aa1e
|
Fix TypeCheckerIr
|
2023-03-27 16:14:14 +02:00 |
|
Martin Fredin
|
ac3f222753
|
Add bidirectional type checker, lambda lifter.
|
2023-03-27 16:07:11 +02:00 |
|
Samuel Hammersberg
|
9952eb0279
|
Fixed the printing of TypeCheckerIr
|
2023-03-26 21:10:20 +02:00 |
|
sebastian
|
ac43af8110
|
fixed a substitution bug where ap was incorrectly inferred.
also added cleaner fresh variables
|
2023-03-25 22:40:15 +01:00 |
|
sebastianselander
|
b08ae7aef1
|
rewrote unification for data type and variable.
could definitely be wrong. have to double check
|
2023-03-24 18:49:24 +01:00 |
|
sebastianselander
|
56ccd793ac
|
more error messages and better unification
|
2023-03-24 18:21:07 +01:00 |
|
sebastianselander
|
41fc863658
|
added PEnum
|
2023-03-24 17:39:34 +01:00 |
|
sebastianselander
|
38680a4dcb
|
adapted new tree to fuck with samuel
|
2023-03-24 16:10:52 +01:00 |
|
sebastianselander
|
ce3971cf75
|
renamed stuff
|
2023-03-24 12:24:08 +01:00 |
|
sebastian
|
fc60112877
|
Made binds keep args instead of lambda converting
|
2023-03-23 22:09:21 +01:00 |
|
sebastianselander
|
c6e8305215
|
created dummy monomorphizer
|
2023-03-23 18:18:03 +01:00 |
|
sebastianselander
|
519ed8af6c
|
Added monadic fail to renamer
|
2023-03-23 16:06:09 +01:00 |
|
sebastianselander
|
7fa677e3d3
|
typechecker working, still unsure of quality
|
2023-03-23 14:18:23 +01:00 |
|
sebastian
|
3335ab7a57
|
compatible, EId rule for parsing is not working, testing not done yet
|
2023-03-22 21:26:14 +01:00 |
|
sebastianselander
|
914855e20f
|
working on adapting the typechecker
|
2023-03-22 17:52:39 +01:00 |
|
sebastianselander
|
936cb1301f
|
new grammar and adapted renamer
|
2023-03-22 12:45:51 +01:00 |
|
sebastian
|
4c015a4aac
|
initial pattern matching implementation. should be somewhat correct
|
2023-03-21 14:33:18 +01:00 |
|
sebastianselander
|
eef6fa7668
|
added new test and found another bug
|
2023-03-06 16:25:03 +01:00 |
|
sebastianselander
|
03d7080396
|
pattern matching works? have to test more
|
2023-03-03 11:46:54 +01:00 |
|
sebastian
|
7656b46e3f
|
a bit more work on pattern match + case expr
|
2023-03-02 22:07:38 +01:00 |
|
sebastianselander
|
2401b6437b
|
continued work pattern matching
|
2023-03-02 16:05:43 +01:00 |
|
sebastianselander
|
05313652f9
|
unit tests, started on pattern matching
|
2023-02-28 17:15:48 +01:00 |
|
sebastianselander
|
bbf6e159c7
|
Type inference/checking on ADTs mostly complete(?). Still have to test
|
2023-02-27 17:22:42 +01:00 |
|
sebastianselander
|
2f45f39435
|
Incorporated most of main, as well as started on quickcheck
|
2023-02-27 11:12:05 +01:00 |
|
sebastianselander
|
8b5cd3cf9a
|
Remade the algorithm myself. Still some bugs.
|
2023-02-18 23:08:27 +01:00 |
|
sebastianselander
|
f188cffb8d
|
Unification part works (probably). Have a hard time understanding it.
|
2023-02-17 18:42:50 +01:00 |
|
sebastianselander
|
f1b77a7efa
|
Refactored. Cleaner version, ala Martin version
|
2023-02-15 19:52:52 +01:00 |
|
sebastianselander
|
7619e36c60
|
Inference works better now. Still work to do. Should use proper library
|
2023-02-15 17:40:18 +01:00 |
|
sebastianselander
|
5d247057f5
|
Minor rewrite of tc. Some bugs still left
|
2023-02-14 22:03:56 +01:00 |
|
sebastianselander
|
6218efac20
|
Renamer done.
It renames bound variables to numbers, converts let to lambda, and
removes all variables from binds
|
2023-02-14 16:44:38 +01:00 |
|
sebastianselander
|
c10d7703ad
|
Progression on type checker ;)
|
2023-02-13 19:03:06 +01:00 |
|
sebastianselander
|
73dc2e4b6a
|
Inference on most expressions. HM based.
Still have to figure out how to infer type of lambda variables, as well
as how function application on polymorphic should work
|
2023-02-13 12:17:49 +01:00 |
|