Commit graph

47 commits

Author SHA1 Message Date
sebastianselander
a9f54dbca1 Simplified quite a bit. Made a unify function. Still bugs left 2023-02-17 11:09:48 +01:00
sebastianselander
eafe0fea0b Rewrote using unification-fd. Heavily inspired (aka copied) from:
https://byorgey.wordpress.com/2021/09/08/implementing-hindley-milner-with-the-unification-fd-library/
2023-02-16 16:37:36 +01:00
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
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
sebastianselander
53314551f5 A bit cleaner code. A renamer is the focus to make the tc simpler 2023-02-14 12:56:07 +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
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
Martin Fredin
ce31e4d490 Fix first unnecessary supercombinator 2023-02-09 17:53:39 +01:00
sebastianselander
b6f03e953b deprecated branch 2023-02-09 09:42:44 +01:00
Martin Fredin
7a2404cf74 Finish Lambda Lifter 2023-02-09 06:19:58 +01:00
Martin Fredin
1f47288fcf Implement lambda lifting passes: freeVars, abstract, and rename 2023-02-09 05:19:51 +01:00
Martin Fredin
b669381572 Remove files from git 2023-02-09 05:18:49 +01:00
sebastianselander
84eb430c41 relaxed base dependency and added overwrite 2023-02-08 21:40:27 +01:00
Patrik Jansson
6607173b93 Typo fix (to check access). 2023-02-08 21:40:27 +01:00
sebastianselander
be3fcfc9e3 Typeinference/checking on expressions done.
Simplified the typechecker a bit, removed GADT solution for now.
Still not fully working
2023-01-24 16:39:22 +01:00
sebastianselander
b6b2dfa25f Some work on a typechecker 2023-01-23 17:17:06 +01:00
Martin Fredin
43e0f67fe2 Fix conflict 2023-01-22 20:16:03 +01:00
Sebastian Selander
d85a0d26b8
Merge pull request #4 from bachelor-group-66-systemf/make
Add Makefile, and remove Grammar dir
2023-01-22 19:08:11 +01:00
Martin Fredin
787dbd85db Add Makefile, add remove Grammar dir 2023-01-21 19:44:22 +01:00
Samuel Hammersberg
2b85eef81d
Merge pull request #2 from bachelor-group-66-systemf/basic
Basic
2023-01-20 15:15:50 +00:00
Martin Fredin
499ced914c Fix judgment 2023-01-20 14:16:18 +01:00
Martin Fredin
64ee4dc432 Implement basic interpreted language 2023-01-20 14:12:04 +01:00
Martin Fredin
d28aa9fc5d Update .gitignore 2023-01-20 14:11:19 +01:00
Martin Fredin
92bb18a568 Update cabal file 2023-01-20 14:00:12 +01:00
Martin Fredin
bbb54d683a Add bnfc dependencies 2023-01-20 09:50:35 +01:00
Samuel Hammersberg
bd845f023d
Merge pull request #1 from bachelor-group-66-systemf/dev-env
Update dev enviroment
2023-01-18 10:56:57 +00:00
sebastianselander
53be0594ae Changed to fourmolu default settings 2023-01-17 15:34:42 +01:00
Martin Fredin
7caadcbeb9 Use src instead of app 2023-01-17 15:34:32 +01:00
Martin Fredin
157ee636e8 Change base to version which is compatible with ghc.9.2.4 2023-01-17 15:33:52 +01:00
Martin Fredin
fe7c68777e Add shell.nix 2023-01-17 15:32:30 +01:00
Rakarake
42768d5aa0 Added gitignore 2023-01-17 14:47:00 +01:00
sebastianselander
47df84f911 cabal init and added formatting options 2023-01-17 11:42:40 +01:00
Sebastian Selander
0e402af95d
Initial commit 2023-01-17 11:37:08 +01:00