13 lines
674 B
Plaintext
13 lines
674 B
Plaintext
|
1) Write a Hindley Milner type checker for that injective datatype recursor language
|
||
|
|
||
|
https://wikimedia.org/api/rest_v1/media/math/render/svg/431b94815103ac9dc77d0e92739456c3c2c90803
|
||
|
https://github.com/sdiehl/write-you-a-haskell/blob/master/chapter7/poly_constraints/src/Infer.hs
|
||
|
https://github.com/sdiehl/write-you-a-haskell/blob/master/chapter7/poly/src/Infer.hs
|
||
|
|
||
|
2) Extend it to allow for referencing declerations "further down" in file, but make sure it
|
||
|
terminates by forbidding corecursion (simply done by building a reference graph and then looking at it)
|
||
|
|
||
|
3) Add Kind env and use it to have "type of types"
|
||
|
|
||
|
4) Then make the SECD machine good enough to execute it :)
|