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:
parent
55c5d7cffa
commit
8eec5b9239
34 changed files with 523 additions and 295 deletions
|
|
@ -41,9 +41,9 @@ export const ModulePoint = {l:[
|
|||
{i: PointCartesian2D , t: Type},
|
||||
{i: PointPolar2D , t: Type},
|
||||
|
||||
...typedFnType(cart2polar, fnType => fnType(PointCartesian2D)(PointPolar2D)),
|
||||
...typedFnType(cart2polar, fnType => fnType(() => PointCartesian2D)(() => PointPolar2D)),
|
||||
|
||||
...typedFnType(polar2cart, fnType => fnType(PointPolar2D)(PointCartesian2D)),
|
||||
...typedFnType(polar2cart, fnType => fnType(() => PointPolar2D)(() => PointCartesian2D)),
|
||||
|
||||
// Double -> Double -> PointCartesian2D -> PointCartesian2D
|
||||
...typedFnType(translate, fnType =>
|
||||
|
|
|
|||
|
|
@ -103,10 +103,10 @@ export const ModulePoint = {l:[
|
|||
{i: getR, t: getRFnType},
|
||||
{i: getΘ, t: getΘFnType},
|
||||
|
||||
...typedFnType(cart2polar, fnType => fnType(NPoint2DCartesian)(NPoint2DPolar)),
|
||||
...typedFnType(polar2cart, fnType => fnType(NPoint2DPolar)(NPoint2DCartesian)),
|
||||
...typedFnType(cart2polar, fnType => fnType(() => NPoint2DCartesian)(() => NPoint2DPolar)),
|
||||
...typedFnType(polar2cart, fnType => fnType(() => NPoint2DPolar)(() => NPoint2DCartesian)),
|
||||
|
||||
// ...typedFnType(polar2cart, fnType => fnType(Point2DPolar)(Point2DCartesian)),
|
||||
// ...typedFnType(polar2cart, fnType => fnType(() => Point2DPolar)(() => Point2DCartesian)),
|
||||
|
||||
// // Double -> Double -> PointCartesian2D -> PointCartesian2D
|
||||
// ...typedFnType(translate, fnType =>
|
||||
|
|
@ -118,9 +118,9 @@ export const ModulePoint = {l:[
|
|||
// (Point2DCartesian)
|
||||
// (Point2DCartesian)))),
|
||||
|
||||
// ...typedFnType(cart2tuple, fnType => fnType(Point2DCartesian)(prodType(Double)(Double))),
|
||||
// ...typedFnType(cart2tuple, fnType => fnType(() => Point2DCartesian)(prodType(() => Double)(() => () => Double))),
|
||||
|
||||
// ...typedFnType(polar2tuple, fnType => fnType(Point2DPolar)(prodType(Double)(Double))),
|
||||
// ...typedFnType(polar2tuple, fnType => fnType(() => Point2DPolar)(prodType(() => Double)(() => () => Double))),
|
||||
|
||||
// // Double -> PointPolar2D -> PointPolar2D
|
||||
// ...typedFnType(rotate, fnType =>
|
||||
|
|
|
|||
|
|
@ -17,5 +17,5 @@ export const ModuleSymbol = {l:[
|
|||
(String)
|
||||
),
|
||||
|
||||
...typedFnType(eqSymbol, fnType => fnType(SymbolT)(fnType(SymbolT)(Bool))),
|
||||
...typedFnType(eqSymbol, fnType => fnType(() => SymbolT)(fnType(SymbolT)(() => Bool))),
|
||||
]};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue