Rakarake
|
71d07ebf0f
|
Fixed some internal errors
|
2023-03-21 15:59:47 +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 |
|
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 |
|
Rakarake
|
63f9689f38
|
Simple polymorphic and monomorphic functions properly morphed in test demo.
|
2023-03-07 18:49:21 +01:00 |
|
Rakarake
|
887c3b8391
|
Working on bugs
|
2023-03-07 16:42:56 +01:00 |
|
Rakarake
|
8ca876a101
|
Most code written, no tests yet
|
2023-03-06 10:47:52 +01:00 |
|
Rakarake
|
dbc77ec5f3
|
Progress
|
2023-03-02 18:36:50 +01:00 |
|
Rakarake
|
514d79bd6c
|
Strucute in place, MonomorpherIr module created
|
2023-03-01 13:50:01 +01:00 |
|
sebastianselander
|
2f45f39435
|
Incorporated most of main, as well as started on quickcheck
|
2023-02-27 11:12:05 +01:00 |
|
sebastianselander
|
06e65de235
|
started on a test suite
|
2023-02-23 11:54:35 +01:00 |
|
sebastianselander
|
5daa5573f2
|
Added more comments to the code
|
2023-02-22 15:24:38 +01:00 |
|
sebastianselander
|
8065576c31
|
Let has a bug, otherwise probably(?) done
|
2023-02-20 20:38:36 +01:00 |
|
sebastianselander
|
a98135827c
|
EAdd is bugged. Mostly complete though.
|
2023-02-20 16:51:44 +01:00 |
|
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 |
|