Realisability semantics of parametric polymorphism, general references and recursive types

Lars Birkedal, Kristian Støvring, Jacob Junker Thamsborg

    Research output: Journal Article or Conference Article in JournalJournal articleResearchpeer-review

    Abstract

    We present a realizability model for a call-by-value, higherorder programming language with parametric polymorphism, general first-class references, and recursive types. The main novelty is a relational interpretation of open types (as needed for parametricity reasoning) that include general reference types. The interpretation uses a new approach to modeling references. The universe of semantic types consists of world-indexed families of logical relations over a universal predomain. In order to model general reference types, worlds are finite maps from locations to semantic types: this introduces a circularity between semantic types and worlds that precludes a direct definition of either. Our solution is to solve a recursive equation in an appropriate category of metric spaces. In effect, types are interpreted using a Kripke logical relation over a recursively defined set of worlds. We illustrate how the model can be used to prove simple equivalences between different implementations of imperative abstract data types.
    Original languageEnglish
    JournalMathematical Structures in Computer Science
    Volume20
    Issue number4
    Pages (from-to)655-703
    ISSN0960-1295
    Publication statusPublished - 2010

    Keywords

    • Realizability model
    • Parametric polymorphism
    • First-class references
    • Recursive types
    • Kripke logical relations

    Fingerprint

    Dive into the research topics of 'Realisability semantics of parametric polymorphism, general references and recursive types'. Together they form a unique fingerprint.

    Cite this