sebastianselander
|
dfbdb6678e
|
Working on non-ugly version of algorithm W (Hindley-Milner)
|
2023-02-20 12:09:31 +01:00 |
|
sebastianselander
|
420fb107f0
|
Commented code and fixed some bugs I think. Still not complete
id : Int -> Int
id x = x
does not type check
|
2023-02-19 15:25:49 +01:00 |
|
sebastianselander
|
db932048ba
|
Tried fixing bug. Failed.
|
2023-02-19 02:10:57 +01:00 |
|
sebastianselander
|
8b5cd3cf9a
|
Remade the algorithm myself. Still some bugs.
|
2023-02-18 23:08:27 +01:00 |
|
sebastianselander
|
f188cffb8d
|
Unification part works (probably). Have a hard time understanding it.
|
2023-02-17 18:42:50 +01:00 |
|
sebastianselander
|
764faa582b
|
Remove hls pragmas
|
2023-02-17 12:01:57 +01:00 |
|
sebastianselander
|
f2e8a02255
|
Removed adhoc tests
|
2023-02-17 12:01:22 +01:00 |
|
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 |
|