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.
| Originalsprog | Engelsk |
|---|---|
| Tidsskrift | Mathematical Structures in Computer Science |
| Vol/bind | 20 |
| Udgave nummer | 4 |
| Sider (fra-til) | 655-703 |
| ISSN | 0960-1295 |
| Status | Udgivet - 2010 |
Emneord
- Realizability model
- Parametric polymorphism
- First-class references
- Recursive types
- Kripke logical relations
Fingeraftryk
Dyk ned i forskningsemnerne om 'Realisability semantics of parametric polymorphism, general references and recursive types'. Sammen danner de et unikt fingeraftryk.Citationsformater
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver