Commit graph

28 commits

Author SHA1 Message Date
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