recursive types (and operations on them, like pretty-printing, comparison and unification) seem to be working.

big part of the code base still needs to be 'ported' to the updated type constructors.
This commit is contained in:
Joeri Exelmans 2025-05-05 17:17:45 +02:00
parent 55c5d7cffa
commit 8eec5b9239
34 changed files with 523 additions and 295 deletions

View file

@ -9,7 +9,7 @@ export const eqDouble = x => y => x === y;
export const ModuleDouble = {l:[
{i: Double, t: Type},
...typedFnType(addDouble, fnType => fnType(Double)(fnType(Double)(Double))),
...typedFnType(mulDouble, fnType => fnType(Double)(fnType(Double)(Double))),
...typedFnType(eqDouble, fnType => fnType(Double)(fnType(Double)(Bool))),
...typedFnType(addDouble, fnType => fnType(() => Double)(fnType(Double)(() => Double))),
...typedFnType(mulDouble, fnType => fnType(() => Double)(fnType(Double)(() => Double))),
...typedFnType(eqDouble, fnType => fnType(() => Double)(fnType(Double)(() => Bool))),
]};