An ideal model for recursive polymorphic types
Information and Control
Recursion over realizability structures
Information and Computation
Notions of computation and monads
Information and Computation
Foundations of programming languages
Foundations of programming languages
Elements of generalized ultrametric domain theory
Theoretical Computer Science
Domains and lambda-calculi
Types and programming languages
Types and programming languages
Relational Semantics for Recursive Types and Bounded Quantification
ICALP '89 Proceedings of the 16th International Colloquium on Automata, Languages and Programming
Semantics of types for mutable state
Semantics of types for mutable state
Call-by-push-value: Decomposing call-by-value and call-by-name
Higher-Order and Symbolic Computation
Syntactic Logical Relations for Polymorphic and Recursive Types
Electronic Notes in Theoretical Computer Science (ENTCS)
State-dependent representation independence
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Relational parametricity for references and recursive types
Proceedings of the 4th international workshop on Types in language design and implementation
Computational Effects and Operations: An Overview
Electronic Notes in Theoretical Computer Science (ENTCS)
A realizability model for impredicative Hoare type theory
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Relational reasoning in a nominal semantics for storage
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Relational reasoning for recursive types and references
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
The category-theoretic solution of recursive metric-space equations
Theoretical Computer Science
Step-indexed kripke models over recursive worlds
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
A kripke logical relation for effect-based program transformations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Completeness for algebraic theories of local state
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
Hi-index | 0.00 |
We present a realizability model for a call-by-value, higher-order 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.