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
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Handbook of logic in computer science (vol. 1)
Domains and lambda-calculi
Games and full abstraction for FPC
Information and Computation - Special issue: LICS 1996—Part 1
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
Existential Types: Logical Relations and Operational Equivalence
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
A Fully Abstract Game Semantics for General References
LICS '98 Proceedings of the 13th Annual IEEE Symposium on Logic in Computer Science
⊤⊤-closed relations and admissibility
Mathematical Structures in Computer Science
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
Biorthogonality, step-indexing and compiler correctness
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
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
Nested Hoare triples and frame rules for higher-order store
CSL'09/EACSL'09 Proceedings of the 23rd CSL international conference and 18th EACSL Annual conference on Computer science logic
Step-indexed kripke models over recursive worlds
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
A semantic foundation for hidden state
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
A fully abstract trace semantics for general
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
A typed store-passing translation for general references
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Partiality, state and dependent types
TLCA'11 Proceedings of the 10th international conference on Typed lambda calculi and applications
Step-Indexed Kripke Model of Separation Logic for Storable Locks
Electronic Notes in Theoretical Computer Science (ENTCS)
Program equivalence in a simple language with state
Computer Languages, Systems and Structures
Adding equations to system f types
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Specification patterns for reasoning about recursion through the store
Information and Computation
Hi-index | 0.00 |
We present a realisability 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 that include general reference types. The interpretation uses a new approach to modelling 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.