Proofs and types
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Notions of computation and monads
Information and Computation
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
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Isolating side effects in sequential languages
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lisp and Symbolic Computation - Special issue on state in programming languages (part I)
Region-based memory management
Information and Computation
Monadic state: axiomatization and type safety
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Correctness of monadic state: an imperative call-by-need calculus
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Taming effects with monadic typing
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The marriage of effects and monads
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Typed memory management in a calculus of capabilities
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A sound polymorphic type system for a dialect of C
Science of Computer Programming - Special issue on the 6th European symposium on programming
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
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
Region-based memory management in cyclone
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Syntactic type soundness results for the region calculus
Information and Computation
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
Towards a theory of type structure
Programming Symposium, Proceedings Colloque sur la Programmation
Region Analysis and the Polymorphic Lambda Calculus
LICS '99 Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science
Eliminating Covert Flows with Minimum Typings
CSFW '97 Proceedings of the 10th IEEE workshop on Computer Security Foundations
Formal Type Soundness for Cyclone''s Region System
Formal Type Soundness for Cyclone''s Region System
Monadic encapsulation of effects: a revised approach (extended version)
Journal of Functional Programming
Strongly typed heterogeneous collections
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
Translating dependency into parametricity
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Permission-based ownership: encapsulating state in higher-order typed languages
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Journal of Functional Programming
Proceedings of the first ACM SIGPLAN symposium on Haskell
Non-monadic models of mutable references
CEFP'09 Proceedings of the Third summer school conference on Central European functional programming school
Completeness of global evaluation logic
MFCS'06 Proceedings of the 31st international conference on Mathematical Foundations of Computer Science
Linear regions are all you need
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Hi-index | 0.00 |
Region-based type systems provide programmer control over memory management without sacrificing type-safety. However, the type systems for region-based languages, such as the ML-Kit or Cyclone, are relatively complicated, so proving their soundness is non-trivial. This paper shows that the complication is in principle unnecessary. In particular, we show that plain old parametric polymorphism, as found in Haskell, is all that is needed. We substantiate this claim by giving a type- and meaning-preserving translation from a region-based language based on core Cyclone to a monadic variant of System F with region primitives whose types and operations are inspired by (and generalize) the ST monad.