Implementation of the typed call-by-value λ-calculus using a stack of regions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A simplified account of polymorphic references
Information Processing Letters
A syntactic approach to type soundness
Information and Computation
A note on “A simplified account of polymorphic references”
Information Processing Letters
From region inference to von Neumann machines via region representation inference
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Region-based memory management
Information and Computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Unification and polymorphism in region inference
Proof, language, and interaction
Stratified operational semantics for safety and correctness of the region calculus
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A constraint-based region inference algorithm
Theoretical Computer Science
The Definition of Standard ML
Region Analysis and the Polymorphic Lambda Calculus
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Garbage collection safety for region-based memory management
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
A survey of semantic description frameworks for programming languages
ACM SIGPLAN Notices
A Retrospective on Region-Based Memory Management
Higher-Order and Symbolic Computation
Polymorphic specialization for ML
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Bisimilarity for the Region Calculus
Higher-Order and Symbolic Computation
Journal of Functional Programming
A Formal Soundness Proof of Region-Based Memory Management for Object-Oriented Paradigm
ICFEM '08 Proceedings of the 10th International Conference on Formal Methods and Software Engineering
ESOP'08/ETAPS'08 Proceedings of the Theory and practice of software, 17th European conference on Programming languages and systems
Time refinement in a functional synchronous language
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
The region calculus of Tofte and Talpin is a polymorphically typed lambda calculus with annotations that make memory allocation and deallocation explicit. It is intended as an intermediate language for implementing Hindley-Milner typed functional languages such as ML without traditional trace-based garbage collection. Static region and effect inference can be used to annotate a statically typed ML program with memory management primitives. Soundness of the calculus with respect to the region and effect system is crucial to guarantee safe deallocation of regions, i.e., deallocation should only take place for objects, which are probably dead. The original soundness proof by Tofte and Taplin required a complex co-inductive safety relation. In this paper, we present two small-stop operational semantics for the region calculus and prove their type soundness with respect to the region and effect system. Following the standard syntactic approach of Wright, Felleisen, and Harper, we obtain simple inductive proofs. The first semantics is store-less. It is simple and elegant and gives rise to perspicuous proofs. The second semantics provides a store-based model for the region calculus. Albeit slightly more complicated, its additional expressiveness allows us to model operations on references with destructive update. A pure fragment of both small-step semantics is then proven equivalent to the original big-step operational approach t Tofte and Taplin. This leads to an n alternative soundness proof for their evaluation-style formulation.