Reversible computations is a restrictive model relating to information preservation. In this project you will extend the design of an reversible programming language. This could be:
- The imperative language Janus; see
- The functional language RFun; see
- Code: https://github.com/kirkedal/rfun-interp
- Playground: https://topps.diku.dk/pirc/?id=rfun
The work in the project will include the following in some aspects:
- defining language syntax,
- formalising semantics,
- proving properties of the language, and
- implementing interpreter or compiler.
Relevant IFI courses for this project
During this master project, you will need to get good foundational understanding of programming languages and transformation. Relevant courses during this project would be:
