Pick'n'Fix: Capturing Control Flow in Modular Compilers

Laurence E. Day, Patrick Bahr

Research output: Conference Article in Proceeding or Book/Report chapterBook chapterResearchpeer-review


We present a modular framework for implementing languages with effects and control structures such as loops and conditionals. This framework enables modular definitions of both syntax and semantics as well as modular implementations of compilers and virtual machines. In order to compile control structures, in particular cyclic ones, we employ Oliveira and Cook's purely functional representation of graphs. Moreover, to separate control flow features semantically from other language features, we represent source languages using Johann and Ghani's encoding of generalised algebraic datatypes as fixpoints of higher-order functors. We demonstrate the usage of our modular compiler framework with an extended running example and highlight the extensibility of our modular compiler implementations.
Original languageUndefined/Unknown
Title of host publicationTFP '14 pre-proceedings
Publication date1 Jul 2014
Publication statusPublished - 1 Jul 2014

Cite this