RFun was suggested by Yokoyama, Bock and Glück in the article Towards a functional reversible language
which was published at RCPL in 2011.
This repo implements the language, with only few changes:
- The paper suggests a semantics in which linearity analysis i embeded in the evaluation judgement for expression. Here, we perform the analysis as a separate step, and then we just assume linearity everywhere else.
- The paper suggests a reversible semantics, but here we implement two mutually recursive semantics
interpret
anduninterpret
.