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
|
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
|
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 |
|
Martin Fredin
|
59fb773bc1
|
Some clean up and documenting
|
2023-02-09 20:24:25 +01:00 |
|
Martin Fredin
|
ce31e4d490
|
Fix first unnecessary supercombinator
|
2023-02-09 17:53:39 +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
|
64ee4dc432
|
Implement basic interpreted language
|
2023-01-20 14:12:04 +01:00 |
|
Martin Fredin
|
7caadcbeb9
|
Use src instead of app
|
2023-01-17 15:34:32 +01:00 |
|