Software Engineering

Effekt Chez Scheme

The Effekt language, a language supporting lexical effects and handlers, uses several intermediate representations (IR) during compilation. One of them uses continuation passing style (CPS). In this thesis, a new compilation strategy is explored, using this CPS IR and compiling it to Chez Scheme. CPS relies heavily on tailcalls, so we expect this strategy to lead to improved performance compared to other backends of Effekt which use the CPS IR, due to Chez Scheme’s support of tailcall optimization. Compared to backends using other IRs, we expect better performance because of the optimizations allowed by the CPS IR. All while supporting the same or more features as the other backends, including bidirectional effects and reentrant continuations.

Contact

Philipp Schuster