Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Insert end witnesses in an L2 program by changing function types, and updating expressions to pass (second-class) end locations around via RetE in tail position and an extended binding form in LetE. Assumes that expressions are flattened and in ANF, and that location symbols are all unique! Failure to meet these assumptions will cause this pass to fail or possibly produce wrong output.