Commit graph

418 commits

Author SHA1 Message Date
Martin Fredin
5e5d258bb1 Update readme with identation syntax 2023-04-03 12:31:29 +02:00
Martin Fredin
077f76eb12 Separate make file actions 2023-04-03 12:24:22 +02:00
Martin Fredin
e5dc28b282 Add pdf of grammar 2023-04-03 12:11:21 +02:00
Martin Fredin
a1b1343d67 Add latex file 2023-04-03 12:04:52 +02:00
Martin Fredin
03bb6a8534 Fix sample-program 2023-04-03 09:42:14 +02:00
Martin Fredin
c998241c65 Fix tests 2023-04-03 09:39:24 +02:00
Martin Fredin
0d6c5920a9 Fix type checker 2023-04-03 09:24:27 +02:00
Martin Fredin
cc5755c3a9 Add layout grammar 2023-04-03 09:24:13 +02:00
sebastian
bd02f52795 Fixed structure a bit morer 2023-04-02 13:48:11 +02:00
sebastian
faffb2744e Fixed structure a bit more 2023-04-02 13:47:35 +02:00
sebastian
6a2ebf4ecd Fixed structure a bit 2023-04-02 13:46:46 +02:00
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
ec8d554af1 Disabled shadowing in pattern match with nice error message, added aux functions 2023-04-01 18:45:08 +02:00
sebastian
4b14cbdebf reverted Hindley-Milner type checker to before mutual recursion merge 2023-04-01 17:10:26 +02:00
Rakarake
ec57712eec Fixed bad names after monomorphizer 2023-03-31 19:43:05 +02:00
Rakarake
c6173c0077 Plus now working in monomorphizer 2023-03-31 19:25:48 +02:00
Rakarake
b8f717f39f Merge branch 'monomorphizer-data' into pattern-matching-with-typechecking 2023-03-31 18:59:05 +02:00
Rakarake
00e23a16dd Monomorphization of datatypes done! 2023-03-31 18:58:33 +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
Samuel Hammersberg
e2e469d84e Added some examples that were shown to our handledare. 2023-03-31 18:17:28 +02:00
Samuel Hammersberg
b0ec5a2333 Started working on a Case Desugar phase. 2023-03-31 18:16:26 +02:00
Rakarake
15c18271ba Monomorphizer, fixed problem with type of bind 2023-03-31 17:53:56 +02:00
Rakarake
d097cd28e8 New morb tree for internal use in monomorphizer, data types implemented 2023-03-31 17:02:54 +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
4831205e67 Remove incorrect test 2023-03-30 18:46:55 +02:00
Samuel Hammersberg
5d2c0e787e The compiler is now compiled with O3. 2023-03-30 15:08:40 +02:00
Samuel Hammersberg
9b38c6d804 Main now prints the exit code of the program, as Haskell likes to hide segfaults. 2023-03-30 12:37:24 +02:00
Samuel Hammersberg
b3525db7fd Integrated the garbage collector. 2023-03-30 12:31:44 +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
Samuel Hammersberg
2851c408d1 Added the updated GC. 2023-03-30 11:41:10 +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
Samuel Hammersberg
61f364cd75 Splat up the codegenerator a bit. 2023-03-29 17:35:19 +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
Rakarake
29fcddf44c Data defs in monomorphizer output environment 2023-03-29 17:05:56 +02:00
Samuel Hammersberg
53589e8d50 Made the output from running the compiler a bit clearer. 2023-03-29 16:54:30 +02:00
Samuel Hammersberg
d26bde6a7f Added a fun Maybe example! 2023-03-29 16:48:30 +02:00
Rakarake
d4115fd2f5 Monomoprhizer handles new types 2023-03-29 16:45:30 +02:00
Martin Fredin
c59cd02361 Lift lambdas in the scrutinized expression 2023-03-29 16:37:52 +02:00