Commit graph

125 commits

Author SHA1 Message Date
sebastian
03a486410f Added somewhat detailed README 2023-04-02 13:42:47 +02:00
sebastian
aaaff776e0 Add some boiler plate for warnings 2023-04-02 00:42:42 +02:00
sebastian
6c180554ec Reworked order of inference, added prettifier for tvars etc etc. 2023-04-02 00:04:33 +02:00
sebastian
4b14cbdebf reverted Hindley-Milner type checker to before mutual recursion merge 2023-04-01 17:10:26 +02:00
sebastianselander
0749ca062d Merge in mutual recursion handling 2023-03-31 18:28:04 +02:00
sebastianselander
b7420b5adb Merge in mutual recursion handling 2023-03-31 18:27:30 +02:00
sebastianselander
c4f78ca37d Merge in mutual recursion handling 2023-03-31 18:26:58 +02:00
Martin Fredin
7d2a0e60d8 Fixes 2023-03-30 19:07:12 +02:00
Martin Fredin
72352d9619 Use use tevars for bind without type signatures, fix recursive functions 2023-03-30 18:46:55 +02:00
Martin Fredin
bbe0d77a19 Add signature of inferred bind to allow some mutually defined definitions 2023-03-30 12:35:47 +02:00
Martin Fredin
a37a52d9f8 Apply env to return type. fixes #14 2023-03-30 11:50:33 +02:00
sebastianselander
c4477d3df4 moved some funcs to aux, added a universal definition of int and char, updated usages in both tcs 2023-03-30 11:38:06 +02:00
sebastianselander
59676605cd moved injections back to state 2023-03-30 10:55:01 +02:00
sebastianselander
c34041860d duplicate signatures / declarations correct 2023-03-30 10:21:04 +02:00
sebastian
c4931c3996 Fixed bug in EApp, cleaned a bit, added todo for disallowing mutual recursion 2023-03-29 23:00:06 +02:00
Martin Fredin
aa1ff630a5 Fix double vars 2023-03-29 22:48:26 +02:00
sebastianselander
343be08a4a Tried solving bug, failed, added todo message, fixed printing 2023-03-29 18:47:54 +02:00
sebastianselander
36b6a8f781 removed trace 2023-03-29 17:32:21 +02:00
sebastianselander
4efe7cf9a2 inference does not depend on order. mutual recursion still not working correctly 2023-03-29 17:30:52 +02:00
Martin Fredin
4755f434fd Add test for pattern matching on recursive data types, and remove traces 2023-03-29 11:26:47 +02:00
Martin Fredin
52db1943bb Finished new check pattern 2023-03-29 11:26:47 +02:00
Martin Fredin
76b1c55065 Progress 2023-03-29 11:26:47 +02:00
Martin Fredin
133cc31e77 Fix lambda lifter 2023-03-29 11:26:47 +02:00
Martin Fredin
528369c95c Progress on new checkPattern 2023-03-29 11:26:47 +02:00
sebastian
f20b80cab3 added skomeliation on given type signatures 2023-03-28 23:19:04 +02:00
sebastian
7c5041d270 added this stupid complex bug to Bugs.md 2023-03-28 21:52:09 +02:00
sebastianselander
9e6fe454ce reverted back to most close to correct version 2023-03-28 17:58:03 +02:00
sebastianselander
8910d8adc0 temporary commit incase of breakage 2023-03-28 17:15:18 +02:00
sebastianselander
43a863c153 fixed coerce type error 2023-03-28 15:45:09 +02:00
sebastianselander
7f0dab6dcb adapted changes to work 2023-03-28 15:35:55 +02:00
Rakarake
b35c19572f Newer changes 2023-03-28 15:26:35 +02:00
sebastianselander
b1d3e31efd Fixed previously incorrect type equality check, commented code, add test 2023-03-28 14:31:57 +02:00
sebastianselander
58fe92affe Revert "restructured layout of code a bit"
This reverts commit 0639489d28.
2023-03-28 10:50:45 +02:00
sebastianselander
0639489d28 restructured layout of code a bit 2023-03-28 10:50:05 +02:00
sebastianselander
1558c98d10 improved the idea of error messages, still not very clean 2023-03-28 10:46:04 +02:00
sebastianselander
54f7d54bf9 fixed EAdd conversion bug in RemoveTEVars 2023-03-28 10:10:26 +02:00
sebastianselander
437c193ea8 fixed EAnn 2023-03-28 10:07:30 +02:00
sebastian
0d2fe862e0 fixed bug and additional test 2023-03-27 23:05:40 +02:00
sebastian
4b24755b93 cleaned up implementations and added check for duplicate constructors 2023-03-27 22:38:39 +02:00
sebastian
e1633ea147 small fixed and added qualifiedDo 2023-03-27 21:17:00 +02:00
Martin Fredin
a38e96a83b Fix Ident print instance 2023-03-27 20:51:00 +02:00
sebastianselander
d5ce73beae hm is compatible 2023-03-27 16:52:22 +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
45527abd50 Fix module name 2023-03-27 16:10:02 +02:00
Martin Fredin
ac3f222753 Add bidirectional type checker, lambda lifter. 2023-03-27 16:07:11 +02:00
sebastianselander
2fa30faa87 renamed stuff 2023-03-27 15:37:58 +02:00
sebastianselander
aa4a615c28 fixed one bug 2023-03-27 14:44:21 +02:00
Samuel Hammersberg
9952eb0279 Fixed the printing of TypeCheckerIr 2023-03-26 21:10:20 +02:00