sebastianselander
|
aa73f147f0
|
Remade lets with bind & improvements
|
2023-03-24 11:21:51 +01:00 |
|
sebastianselander
|
936cb1301f
|
new grammar and adapted renamer
|
2023-03-22 12:45:51 +01:00 |
|
sebastianselander
|
88a4a934b8
|
added more manual tests
|
2023-03-22 10:32:22 +01:00 |
|
sebastian
|
57fe8cd0a6
|
Fixed larger bug
where pattern matching on `Just a` with type `Maybe b` could be used for
any type.
|
2023-03-21 22:02:28 +01:00 |
|
sebastianselander
|
509de4415e
|
progress on fixing bugs
|
2023-03-21 17:09:03 +01:00 |
|
sebastian
|
4c015a4aac
|
initial pattern matching implementation. should be somewhat correct
|
2023-03-21 14:33:18 +01:00 |
|
sebastianselander
|
9cd2cdb511
|
continued work on pattern matching v2
|
2023-03-20 17:40:09 +01:00 |
|
sebastianselander
|
c3ea343d00
|
unified top level type with expression type
|
2023-03-10 16:54:29 +01:00 |
|
sebastian
|
62724964d7
|
fixed Maybe ('a -> 'a) bug. Pattern matching still wonky, will have to redo
|
2023-03-08 15:22:42 +01:00 |
|
sebastianselander
|
9c2f52f8bb
|
fixed bug where bound variable didn't exist in case
|
2023-03-06 11:27:17 +01:00 |
|
sebastianselander
|
778fec3dc4
|
Implemented potential fix for one of the bugs
|
2023-03-05 14:34:39 +01:00 |
|
sebastianselander
|
fe63fa6215
|
Improved error message and created document for known bugs.
|
2023-03-05 13:24:56 +01:00 |
|
sebastianselander
|
fecb71bc07
|
Found a bug.
|
2023-03-03 18:17:51 +01:00 |
|
sebastianselander
|
03d7080396
|
pattern matching works? have to test more
|
2023-03-03 11:46:54 +01:00 |
|
sebastianselander
|
2401b6437b
|
continued work pattern matching
|
2023-03-02 16:05:43 +01:00 |
|
sebastianselander
|
05313652f9
|
unit tests, started on pattern matching
|
2023-02-28 17:15:48 +01:00 |
|
sebastianselander
|
bbf6e159c7
|
Type inference/checking on ADTs mostly complete(?). Still have to test
|
2023-02-27 17:22:42 +01:00 |
|
sebastianselander
|
2f45f39435
|
Incorporated most of main, as well as started on quickcheck
|
2023-02-27 11:12:05 +01:00 |
|
sebastianselander
|
5daa5573f2
|
Added more comments to the code
|
2023-02-22 15:24:38 +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
|
f2e8a02255
|
Removed adhoc tests
|
2023-02-17 12:01:22 +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
|
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
|
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
|
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 |
|
sebastianselander
|
b6b2dfa25f
|
Some work on a typechecker
|
2023-01-23 17:17:06 +01:00 |
|
Martin Fredin
|
64ee4dc432
|
Implement basic interpreted language
|
2023-01-20 14:12:04 +01:00 |
|