Bunching for Regions and Locations
Collinson, Matthew; Pym, David
HPL-2006-65
External - Copyright Consideration
Keyword(s): denotational semantics; type; polymorphism; logic of bunched implications; region; location; reference
Abstract: There are a number of applied lambda-calculi in which terms and types are annotated with parameters denoting either locations or locations in machine memory. Such calculi have been designed with safe memory management operations in mind. It is difficult to construct directly denotational models for existing calculi of this kind. We approach the problem differently, by starting from a class of mathematical models that describe some of the essential semantic properties intended in these calculi. In particular, disjointness conditions between regions (or locations) are implicit in many of the memory management operations. Bunched polymorphism provides natural type-theoretic mechanisms for capturing the disjointness conditions in such models. We illustrate this by adding regions to the basic disjointness model of αλ, the lambda calculus associated to the logic of bunched implications. We show how both additive and multiplicative polymorphic quantifiers arise naturally in our models. A locations model is a special case. In order to relate this enterprise back to previous work on memory management, we provide an example in which the model is refined and used to provide a denotational semantics for a language with explicit allocation and disposal of regions. Notes: Matthew Collinson, Dept. of Computer Science, University of Bath, U.K
23 Pages
Back to Index
|