A modal analysis of staged computation

Rowan Davies, F. Pfenning

    Research output: Contribution to journalArticlepeer-review

    200 Citations (Scopus)

    Abstract

    We show that a type system based on the intuitionistic modal logic S4 provides an expressive framework for specifying and analyzing computation stages in the context of typed lambda -calculi and functional languages. We directly demonstrate the sense in which our lambda (--> square)(e)-calculus captures staging, and also give a conservative embedding of Nielson and Nielson's two-level functional language in our functional language Mini-MLsquare, thus proving that binding-time correctness is equivalent to modal correctness on this fragment. In addition, Mini-MLsquare can also express immediate evaluation and sharing of code across multiple stages, thus supporting run-time code generation as well as partial evaluation.
    Original languageEnglish
    Pages (from-to)555-604
    JournalJournal of the ACM
    Volume48
    Issue number3
    DOIs
    Publication statusPublished - 2001

    Fingerprint

    Dive into the research topics of 'A modal analysis of staged computation'. Together they form a unique fingerprint.

    Cite this