Commit graph

705 commits

Author SHA1 Message Date
sebastianselander
f1b77a7efa Refactored. Cleaner version, ala Martin version 2023-02-15 19:52:52 +01:00
sebastianselander
b03df17e34 Minor changes. Added a comment 2023-02-15 18:10:28 +01:00
sebastianselander
7619e36c60 Inference works better now. Still work to do. Should use proper library 2023-02-15 17:40:18 +01:00
Victor Olin
c05bf76662 Started testing the GC
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-15 16:57:11 +01:00
valtermiari
f8d761411d Some configurations 2023-02-15 10:42:27 +01:00
valtermiari
634050c094 Some small test features 2023-02-15 10:40:35 +01:00
sebastianselander
ad3f6b7011 Attempt at fixing EApp, failed. 2023-02-14 22:35:00 +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
Rakarake
514c809b1e Pinned nix channel, made makefile not error 2023-02-14 15:47:36 +01:00
Victor Olin
31bc719e74 Next up is tests
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-14 15:11:58 +01:00
sebastianselander
53314551f5 A bit cleaner code. A renamer is the focus to make the tc simpler 2023-02-14 12:56:07 +01:00
Victor Olin
deed239879 Almost finished w/ 1st impl of GC 2023-02-14 11:48:04 +01:00
Victor Olin
7fd324a5b2 Almost finished with 1st impl of GC
Co-authored-by: ValterMiari <ValterMiari@users.noreply.github.com>
2023-02-14 11:47:52 +01:00
sebastianselander
200a9e57ed Fixed EId, more work on other expressions needed 2023-02-14 10:12: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
Samuel Hammersberg
7c1e1d57a0 Merge remote-tracking branch 'origin/main' into llvm_testing 2023-02-12 13:17:45 +01:00
Samuel Hammersberg
9f4c3a3cbf
Merge pull request #6 from bachelor-group-66-systemf/codegen-martin-4
Add lambda lifter
2023-02-12 12:06:49 +00:00
Martin Fredin
3fe990ceaa Don't run interpreter by default 2023-02-12 13:01:12 +01:00
Samuel Hammersberg
818e57ff14 Updated main to use the updated Code Generator. 2023-02-11 14:14:21 +01:00
Samuel Hammersberg
5d5a610cca Made compiler state more generic, and compile no longer outputs IO and instead returns the result. 2023-02-11 14:12:27 +01:00
Martin Fredin
d67eddcf0f Fix interpreter 2023-02-11 11:04:39 +01:00
Martin Fredin
e212c79a44 Revert back to one lambda par, and fix issues with lambda lifter 2023-02-11 09:59:26 +01:00
Martin Fredin
78a3ed56ea Add test 2023-02-10 16:55:56 +01:00
Martin Fredin
f3600ffdf8 Fix documentation and small things 2023-02-10 16:45:33 +01:00
Martin Fredin
5956cdf121 Fix typo 2023-02-10 16:45:33 +01:00
Martin Fredin
8688b303ac Fix unnecessary supercombinator issue 2023-02-10 16:45:33 +01:00
Martin Fredin
ece621b0aa Fix auxiliary path 2023-02-10 16:45:33 +01:00
Martin Fredin
8663f2ea50 Some clean up and documenting 2023-02-10 16:45:33 +01:00
Martin Fredin
8c094236aa Add auxiliary module 2023-02-10 16:45:33 +01:00
Martin Fredin
3d8bd24c7b Fix basic tests 2023-02-10 16:45:33 +01:00
Martin Fredin
bd792f7785 Add llvm dep 2023-02-10 16:45:33 +01:00
Martin Fredin
08917be1c6 Fix first unnecessary supercombinator 2023-02-10 16:45:33 +01:00
Martin Fredin
69254f8032 Finish Lambda Lifter 2023-02-10 16:45:33 +01:00
Martin Fredin
2a48b7477e Implement lambda lifting passes: freeVars, abstract, and rename 2023-02-10 16:45:33 +01:00
Martin Fredin
b64b49b1eb Remove files from git 2023-02-10 16:45:33 +01:00
Martin Fredin
61efcebc64 Fix conflict 2023-02-10 16:45:33 +01:00
Samuel Hammersberg
e7ef268c12 Splat LLVM Ir into its own file. 2023-02-10 16:08:45 +01:00
Victor Olin
f42ea42273 Goal for next week 2023-02-10 13:47:09 +01:00
Victor Olin
afd5463310 Worked a bit on the heap 2023-02-10 13:45:53 +01:00
sebastianselander
a1e9624d5e TTGing the lambda lifter 2023-02-10 12:09:08 +01:00
sebastianselander
f4f1786be3 Revert "Merge branch 'typechecking' into codegen-martin-3"
This reverts commit e000e5159f, reversing
changes made to 3ac8377fa0.
2023-02-10 10:46:09 +01:00
Sebastian Selander
771c73c0db
Merge pull request #5 from bachelor-group-66-systemf/codegen-martin-3
Codegen martin 3
2023-02-10 10:33:50 +01:00
sebastianselander
e000e5159f Merge branch 'typechecking' into codegen-martin-3 2023-02-10 10:33:15 +01:00
Martin Fredin
3ac8377fa0 Fix auxiliary path 2023-02-09 20:25:00 +01:00
Martin Fredin
59fb773bc1 Some clean up and documenting 2023-02-09 20:24:25 +01:00
Martin Fredin
07bec3e7ef Add auxiliary module 2023-02-09 20:24:06 +01:00
Martin Fredin
7c313b3faa Fix basic tests 2023-02-09 20:23:49 +01:00
Martin Fredin
23261ec380 Add llvm dep 2023-02-09 20:23:20 +01:00