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

    Abstract

    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

    Keywords

    • modularity, extensibility, compiler, virtual machine, semantics, catamorphism, graph, sharing, Haskell

    Cite this