Hostname: page-component-7479d7b7d-rvbq7 Total loading time: 0 Render date: 2024-07-13T16:48:07.182Z Has data issue: false hasContentIssue false

Monadic regions

Published online by Cambridge University Press:  10 August 2006

MATTHEW FLUET
Affiliation:
Department of Computer Science, Cornell University, Ithaca, NY 14853, USA (email: fluet@cs.cornell.edu)
GREG MORRISETT
Affiliation:
Division of Engineering and Applied Science, Harvard University, Cambridge, MA 02138, USA (email: greg@eecs.harvard.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

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, and 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 variation of the region calculus of Tofte and Talpin to a monadic variant of System F with region primitives whose types and operations are inspired by (and generalize) the ST monad of Launchbury and Peyton Jones.

Type
Article
Copyright
2006 Cambridge University Press

Footnotes

This is a revised and extended version of the paper that appeared in the Ninth ACM SIGPLAN International Conference on Functional Programming (ICFP'04) (Fluet & Morrisett, 2004).
Submit a response

Discussions

No Discussions have been published for this article.