Commit graph

455 commits

Author SHA1 Message Date
sebastian
fc60112877 Made binds keep args instead of lambda converting 2023-03-23 22:09:21 +01:00
Samuel Hammersberg
0012efabb7 Fixed some more stuff. 2023-03-23 22:01:40 +01:00
Samuel Hammersberg
75fa232e21 No more warnings, but everything to do with datatypes is outcommented. 2023-03-23 21:35:52 +01:00
Samuel Hammersberg
6cbc83c5d9 Fixed a miss. 2023-03-23 20:22:36 +01:00
Samuel Hammersberg
c85010a8a1 Fixed ExpT 2023-03-23 20:20:17 +01:00
sebastianselander
c6e8305215 created dummy monomorphizer 2023-03-23 18:18:03 +01:00
Samuel Hammersberg
c19f821892 Switched around EId. 2023-03-23 17:54:41 +01:00
Samuel Hammersberg
e283e83486 Fixed some reexports. 2023-03-23 17:49:37 +01:00
sebastianselander
e3df4192bb created dummy monomorphizer 2023-03-23 17:20:19 +01:00
sebastianselander
42c8ebc7b6 Making progress towards finished product 2023-03-23 16:49:49 +01:00
Samuel Hammersberg
d3d173eb59 Merge remote-tracking branch 'origin/typechecking-merge' into pattern-matching-with-typechecking 2023-03-23 16:33:05 +01:00
Samuel Hammersberg
bf0064db86 Added the trait ToIr. 2023-03-23 16:13:59 +01:00
sebastianselander
519ed8af6c Added monadic fail to renamer 2023-03-23 16:06:09 +01:00
Samuel Hammersberg
129a70e051 WIP Added support for more types of cases. 2023-03-23 15:29:25 +01:00
sebastianselander
7fa677e3d3 typechecker working, still unsure of quality 2023-03-23 14:18:23 +01:00
sebastianselander
8d1330ad42 typechecker is compatible with one extra addition to the spec 2023-03-23 11:13:48 +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
Samuel Hammersberg
cd85297b85 Removed the ear operator. 2023-03-22 11:48:40 +01:00
Samuel Hammersberg
61c844a255 Revamped getNewVar 2023-03-22 11:46:07 +01:00
Samuel Hammersberg
feeef18cfd Started implementing pattern matching on data types. 2023-03-22 11:41:02 +01:00
sebastianselander
88a4a934b8 added more manual tests 2023-03-22 10:32:22 +01:00
Samuel Hammersberg
d36370329e Realized that getelementptr might be doing to right thing, and that the uninitialized data comes from padding. 2023-03-22 10:24:00 +01:00
sebastianselander
24007313cb added shadowing for ECase in Renamer 2023-03-22 10:10:11 +01:00
sebastian
33b69a1895 Improved formatting 2023-03-21 22:07:21 +01:00
sebastian
57fe8cd0a6 Fixed larger bug
where pattern matching on `Just a` with type `Maybe b` could be used for
 any type.
2023-03-21 22:02:28 +01:00
Rakarake
8f151b7531 Monomorphization of function applications should work 2023-03-21 17:15:15 +01:00
sebastianselander
509de4415e progress on fixing bugs 2023-03-21 17:09:03 +01:00
Rakarake
71d07ebf0f Fixed some internal errors 2023-03-21 15:59:47 +01:00
sebastian
3026a96eb7 added todo for class 2023-03-21 14:51:06 +01:00
sebastian
4c015a4aac initial pattern matching implementation. should be somewhat correct 2023-03-21 14:33:18 +01:00
Samuel Hammersberg
ae34c494f5 Improved the visibility checkup a little bit. 2023-03-21 10:14:00 +01:00
Samuel Hammersberg
91816abfe6 Constructors are now seen as global functions. 2023-03-21 10:11:02 +01:00
Samuel Hammersberg
bbf7a47e74 Started updating the Code Generator to the new monomorphizer tree. 2023-03-21 09:39:05 +01:00
sebastianselander
9cd2cdb511 continued work on pattern matching v2 2023-03-20 17:40:09 +01:00
Rakarake
ec95e0d9ef Monomorphizer cleanup 2023-03-12 17:53:46 +01:00
Rakarake
e2db863c3e Fixed name clashes 2023-03-10 17:24:03 +01:00
Rakarake
96c4a2bddf Added test of multiple instanciations of same polymorphic function 2023-03-10 17:20:23 +01:00
sebastianselander
c3ea343d00 unified top level type with expression type 2023-03-10 16:54:29 +01:00
Rakarake
224a165715 Unique names of new binds with different types 2023-03-09 18:52:35 +01:00
Rakarake
f10919ac20 Better tests 2023-03-09 18:32:00 +01:00
Rakarake
0e20670343 Added check for recursive calls 2023-03-08 17:52:41 +01:00
Rakarake
d377ded7e1 Deleted bad sample programs, added polymorphic call in polymorphic function test 2023-03-08 17:38:50 +01:00
sebastian
62724964d7 fixed Maybe ('a -> 'a) bug. Pattern matching still wonky, will have to redo 2023-03-08 15:22:42 +01:00
Samuel Hammersberg
350cd3b0e9 Started importing Sebastian's new typechecker. 2023-03-08 11:01:07 +01:00
Samuel Hammersberg
d5dd7896d8 Moved modules into a proper folder structure. 2023-03-08 10:35:07 +01:00
Samuel Hammersberg
ac0ac2dac7 Removed a few imports. 2023-03-08 10:27:39 +01:00
Samuel Hammersberg
2af00da482 Renamed the compile function to generate code 2023-03-08 10:25:53 +01:00
Samuel Hammersberg
832efbcdd8 Gave the code generator a proper module name. 2023-03-08 10:24:52 +01:00