Support mutually-recursive closures #177
Add support for mutually-recursive closures.
There are various ways to implement closures, some are naive (nested) and some are more optimal (https://www.cs.indiana.edu/~dyb/pubs/closureopt.pdf and others). I think that we're going to need to pass them through at least the pre stage as letrecs and possibly into the core stage for optimisation.
The text was updated successfully, but these errors were encountered:
We don't yet support mutually recrusive closures. Part because it's time to move on to working on something else and part because it's unclear exactly what's the best way to do this. See #177 src/pre.ast_to_core.m: src/pre.env.m: src/pre.from_ast.m: Detect and appologise for the lack of support for mutually recursive closures. tests/missing/closure_06.exp: tests/missing/closure_06.p: Add a test for the missing feature.