50 citations found. Retrieving documents...
G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
A Model of Garbage Collection for OO Languages - Rob Hunter And   (Correct)

....collection, we use the calculi of Morrisett, et al. 7] Their work, however, models collection in a lambda calculus language with explicit heap allocation. They do not consider state, objects, or sub typing. We extend their work to model a realistic object oriented language. Morrisett and Harper [8] also extend Morrisett, et al. 7] They make certain details explicit which allows them to formalize, for example, tail call elimination. Their work focuses on a language with parametric polymorphism, and they provide a P = defn # e defn = class c extends c implements i # field # meth # ....

....and correctness. We wanted to prove the latter. To do so, however, we needed to be able to model their implementation (which significantly modifies the garbage collector to preserve performance) Unfortunately, there is a mismatch between the previously existing garbage collection models [7, 8] and the dynamic upgrading system. The former are variants of the lambda calculus; the latter is an enhanced form of Java. Hence, it is not possible to directly adapt these existing models to yield a close approximation of the upgrading system. Therefore, we designed a model of Java with explicit ....

G. Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. HigherOrder Operational Techniques in Semantics, pages 175--226, 1998.


A Type Theory for Memory Allocation and Data Layout - Petersen, Harper, Crary.. (2002)   (8 citations)  (Correct)

....to a pointer into the heap to a location occupied by the heap value V , and is the canonical form for terms of type . An interesting facet of our presentation is that we account for heap allocation without requiring an explicit heap (for example in the style of Morrisett and Harper [12]) In a heap semantics, a pointer to a value V is represented by a label , with bound to V in an explicit heap data structure. Since sharing is not observable in our simple calculus, we may avoid this extra complexity by representing such values directly as V , denoting a pointer to a ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higer Order Operational Techniques in Semantics. Newton Institute, Cambridge University Press, 1997.


The Space Usage Problem: An Evaluation Kit for.. - Bakewell, Runciman (2000)   (Correct)

....sense to consider input as part of the initial graph. 15 5 Related Work Another style of small step semantics designed for reasoning about space usage has been researched for Core Scheme, a much richer language than our call by value system having data types, assignment, recursion and choice [MH97]. Clinger [Cli98] used that work for comparing the behaviour of different Scheme abstract machines. It is perhaps less suitable for reasoning at the program level, being a complex abstract machine with heap, stack and environment components. A profiling semantics for NESL [BG96] is another ....

G Morrisett and R Harper. Semantics of memory management for polymorphic languages. In A D Gordon and A M Pitts, editors, Higher Order Operational Techniques in Semantics, pages 175-- 226. Cambridge University Press, 1997.


Dynamic Software Updating - Hicks (2001)   (37 citations)  (Correct)

....of type soundness, is believable. To balance these tensions, the load calculus is essentially a variant of the well studied polymorphic lambda calculus [Gir71, Rey74] for which proofs of soundness are well known, but is formulated using an allocation style semantics. In this formulation (cf. MH97] a program s heap is explicitly considered, and thus programs more closely correspond to actual machine language programs. Because TAL programs are by nature imperative, programs can alter values stored in the heap, essentially treating heap locations as reference cells, e.g. Har94] Programs ....

....the expression part is a value (thus having the form (H, v) or they diverge (i.e. never terminate) Ill defined programs are ones in which the expression part of the program is not a value, but there is no possible evaluation rule to apply. Sometimes such programs are termed stuck programs (cf. MH97] Though we will not attempt to identify all of the syntactic forms of stuck programs, the intuition is that the program has been incorrectly constructed. For example, the following program is stuck: #x.x) No rule from Figure 5.3 can be used to further evaluate this program, and ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


Garbage Collection Based on a Linear Type System - Igarashi, Kobayashi (2000)   (7 citations)  (Correct)

....pointers in the memory space, making conventional tracing GC fail. 1.2 Our Approach In this paper we propose a GC scheme that can coexist with static memory management based on a linear type system. The basic idea is to exploit static type information during GC in a way similar to tag free GC [App89,Tol94,MFH95,Mor95,MH96]. It may help to review the idea of tag free GC (for languages with a monomorphic type system) rst. The intuition behind tag free GC was that types represent the shapes of values. When we begin to trace a variable in the environment, its static type tells how to trace it: if x is given type ....

....work are formalization of our GC algorithm for a language with a monomorphic linear type system and a proof of correctness of the algorithm. Our formalization also includes operational semantics that takes account of immediate reclamation of memory space for linear values; as in the previous work [MFH95,Mor95,MH96] on formalization of memory management, the operational semantics of our language makes run time mechanisms such as stacks or heap space explicit. We also prove soundness of our linear type system with respect to the operational semantics. Here, only one particular instance of monomorphic linear ....

[Article contains additional citation context not shown here]

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. Technical Report CMU-CS-96-176, Carnegie Mellon University, Pittsburgh, PA, September 1996.


Flexible Type Analysis - Crary, Weirich (1999)   (35 citations)  (Correct)

....ML may operate on inputs of type # where # is not only unknown, but may in fact be instantiated by a variety of di#erent types. In order to use type information in contexts where it cannot be provided statically, a number of advanced implementation techniques process type information at run time [12, 21, 30, 23, 26]. Such type information is used in two ways: behind the scenes, typically by tagfree garbage collectors [30, 1] and explicitly in program code, for a variety of purposes such as e#cient data representation and marshalling [21, 12, 27] In this paper we focus on the latter area of applications. To ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


A Foundation for Space-Safe Transformations of Call-by-Need.. - Gustavsson, Sands (1999)   (7 citations)  (Correct)

....Launchbury s proposal) Rose [Ros96] uses a graph reduction model based on explicit substitutions in which the correct modelling of space is emphasised, and in [BLR96] a sketch of the space safety of aspects of the STGmachine implementation with respect to the model is given. Morrisett and Harper [MH98] use a similar style of abstract machine description to that used here in order to investigate the semantics of memory management in an MLlike language (see also [MFH95] They give abstract specifications of garbage collection, and prove the correctness of a particular type based collection ....

.... Gamma 0 ; M; S 0 i if and only if h Gamma 0 ; M; S 0 i is closed, and can be obtained from h Gamma; M; S i by removing zero or more bindings and update markers from the heap and the stack respectively. This is an accessibility based definition as found in e.g. the gc reduction rule of [MH98]. The removal of update markers from the stack is not surprising given that they are viewed as the binding occurrences of the variables in question. 4.3 Evaluation in fixed space We are now ready to define what it means for a computation to be possible in certain fixed amount of space. 3 A ....

Greg Morriset and Robert Harper. Semantics of memory management for polymorphic languages. In Gordon and Pitts [GP98], pages 175--226. 10


A Type System for Expressive Security Policies - Cornell (1999)   (28 citations)  (Correct)

....upon higher order functions or immutable data structures such as tuples and records, we will have to track the values of these data structures in the type system using singleton types as we did with values of base type. The simplest way to handle this extension is to use an allocation semantics [10, 11]. In this setting, when a function closure fixg[#] e is allocated, it is bound to a new address (#) Instead of substituting the closure through the rest of the code as we do now, we would substitute the address (#) through the code and give it the singleton type #( #) where # is #[#] ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Computational Complexity and Induction for Partial.. - Constable, Crary (1999)   (3 citations)  (Correct)

....the one used in this paper only for its simplicity. A computation system based on explicit substitutions [1, 18] can also easily be used, and leads to a more realistic measure of running time. Still more realistic computation systems have also been proposed, such as the gc of Morrisett et al. [32, 33], but we have not explored how easily our theory could be adapted to such systems. 5.2 Resource Bounded Logic One of the advantages of constructive logic is that when the existence of an object is proven, that object may be constructed. Many theorem provers based on constructive logic [9, 5, 25] ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. Technical Report CMU-CS-96-176, Carnegie Mellon University, School of Computer Science, September 1996.


Flexible Type Analysis - Crary, Weirich (1999)   (35 citations)  (Correct)

....may operate on inputs of type ff where ff is not only unknown, but may in fact be instantiated by a variety of different types. In order to use type information in contexts where it cannot be provided statically, a number of advanced implementation techniques process type information at run time [12, 21, 30, 23, 26]. Such type information is used in two ways: behind the scenes, typically by tagfree garbage collectors [30, 1] and explicitly in program code, for a variety of purposes such as efficient data representation and marshalling [21, 12, 27] In this paper we focus on the latter area of applications. ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


Dynamic ML without Dynamic Types - Gilmore, Kírlí, Walton (1997)   (17 citations)  (Correct)

....[4, page 42] Other authors have considered this and argued for the usefulness of a semantic model of memory management in making precise implementation notions such as memory leaks and tail recursion optimisation. A suitable abstract machine model of memory management has been developed [5] and this would form a more suitable setting in which to discuss the Dynamic ML extensions to Standard ML. We intend to provide such a semantics for our extension in a follow on paper. 6 Related work Untyped or weakly typed interpreted languages give the programmer great flexibility in allowing ....

Greg Morrisett and Robert Harper. Semantics of Memory Management for Polymorphic Languages. Technical report, School of Computer Science, Carnegie Mellon University, September 1996. Also published as Fox Memorandum CMU-CS-FOX-96-04.


From System F to Typed Assembly Language - Greg Morrisett David (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

No context found.

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Typed Memory Management via Static Capabilities - David Walker Carnegie (2000)   (24 citations)  Self-citation (Morrisett)   (Correct)

No context found.

Morrisett, G. and Harper, R. 1997. Semantics of memory management for polymorphic languages. In Higher-Order Operational Techniques in Semantics, A. Gordon and A. Pitts, Eds. Publications of the Newton Institute. Cambridge University Press, Cambridge, UK.


From System F to Typed Assembly Language - Greg Morrisett Cornell (1999)   (6 citations)  Self-citation (Morrisett)   (Correct)

No context found.

Morrisett, G. and Harper, R. 1997. Semantics of memory management for polymorphic languages. In 1st Workshop on Higher Order Operational Techniques in Semantics, A. Gordon and A. Pitts, Eds. Publications of the Newton Institute. Cambridge University Press, Cambridge, UK.


Retrospective: - Til Type-Directed Optimizing   Self-citation (Morrisett Harper)   (Correct)

No context found.

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Greg Morrisett David (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

No context found.

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Typed Memory Management in a Calculus of Capabilities - Walker, Crary, Morrisett (2000)   Self-citation (Morrisett)   (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Intensional Polymorphism in Type-Erasure Semantics - Crary, Weirich, Morrisett (1998)   (54 citations)  Self-citation (Morrisett)   (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


A Type Theory for Memory Allocation and Data Layout - Leaf Petersen Robert (2003)   (8 citations)  Self-citation (Harper)   (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higer Order Operational Techniques in Semantics. Newton Institute, Cambridge University Press, 1997.


TIL: A Type-Directed, Optimizing Compiler for ML - Tarditi, Morrisett, Cheng.. (1995)   (139 citations)  Self-citation (Morrisett Harper)   (Correct)

....techniques that translate both the code and its type in such a way that the typing relation is preserved. Work in this direction was initiated by Harper and Lillibridge [4, 5] and continued with the development of typed closure conversion [11, 16] and type based approaches to garbage collection [14, 15]. Much of Morrisett s dissertation [13] is devoted to developing these ideas. Apart from supporting intensional type analysis, typepreserving translations make it possible for the compiler to check its own integrity by type checking the results of each major compilation phase. This greatly ....

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


A Type Theory for Memory Allocation and Data Layout - Petersen, Harper, Crary.. (2003)   (8 citations)  Self-citation (Harper)   (Correct)

....to a pointer into the heap to a location occupied by the heap value V , and is the canonical form for terms of type t. An interesting facet of our presentation is that we account for heap allocation without requiring an explicit heap (for example in the style of Morrisett and Harper [10]) In a heap semantics, a pointer to a value V is represented by a label #, with # bound to V in an explicit heap data structure. Since sharing is not observable in our simple calculus, we avoid this extra complexity by representing such values directly as V , denoting a pointer to a location ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higer Order Operational Techniques in Semantics. Newton Institute, Cambridge University Press, 1997.


A Type Theory for Memory Allocation and Data Layout.. - Petersen, Harper.. (2002)   (8 citations)  Self-citation (Harper)   (Correct)

....to a pointer into the heap to a location occupied by the heap value V , and is the canonical form for terms of type # . 9 An interesting facet of our presentation is that we account for heap allocation without requiring an explicit heap (for example in the style of Morrisett and Harper [12]) In a heap semantics, a pointer to a value V is represented by a label #, with # bound to V in an explicit heap data structure. Since sharing is not observable in our simple calculus, we may avoid this extra complexity by representing such values directly as V , denoting a pointer to a ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higer Order Operational Techniques in Semantics. Newton Institute, Cambridge University Press, 1997. 23


A Type Theory for Memory Allocation and Data Layout.. - Petersen, Harper.. (2002)   (8 citations)  Self-citation (Harper)   (Correct)

....to a pointer into the heap to a location occupied by the heap value V , and is the canonical form for terms of type . An interesting facet of our presentation is that we account for heap allocation without requiring an explicit heap (for example in the style of Morrisett and Harper [12]) In a heap semantics, a pointer to a value V is represented by a label , with bound to V in an explicit heap data structure. Since sharing is not observable in our simple calculus, we may avoid this extra complexity by representing such values directly as V , denoting a pointer to a ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higer Order Operational Techniques in Semantics. Newton Institute, Cambridge University Press, 1997.


Intensional Polymorphism in Type-Erasure Semantics - Karl Crary Stephanie (1998)   (54 citations)  Self-citation (Morrisett)   (Correct)

....ML may operate on inputs of type # where # is not only unknown, but may in fact be instantiated by a variety of di#erent types. In order to use type information in contexts where it cannot be provided statically, a number of advanced implementation techniques process type information at run time [10, 16, 27, 18, 24]. Such type information is used in two ways: behind the scenes, typically by tagfree garbage collectors [27] and explicitly in program code, for a variety of purposes such as e#cient data representation and marshalling [16, 10] In this paper we focus on the latter area of applications. To lay a ....

....and, as we discuss later, it makes abstraction impossible. Type passing results in considerable complexity in language semantics, due in large part to the number of semantic devices that must be duplicated for both terms and types. For example, in semantics that make memory allocation explicit [17, 18] a central device is a formal heap in which data is stored; in a type erasure framework one such heap Intensional since types are analyzed by the structure of their names, rather than by what terms they contain. This is critical for practicality. su#ces, but when types are passed it is ....

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


Typed Memory Management in a Calculus of Capabilities - Crary, Walker, Morrisett (1999)   (84 citations)  Self-citation (Morrisett)   (Correct)

....following sections, we explain and motivate the main constructs and typing rules of the language one by one. The complete static and operational semantics are specified in Appendix A. 2. 1 Preliminaries We specify the operational behavior of the Capability Calculus using an allocation semantics [22, 23, 24], which makes the allocation of data in memory explicit. The semantics is given by a deterministic rewriting system P P # mapping machine states to new machine states. A machine state consists of a pair (M, e) of a memory and a term being executed. A memory is a finite mapping of region names ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Intensional Polymorphism in Type-Erasure Semantics - Crary, Weirich, Morrisett (1998)   (54 citations)  Self-citation (Morrisett)   (Correct)

....may operate on inputs of type ff where ff is not only unknown, but may in fact be instantiated by a variety of different types. In order to use type information in contexts where it cannot be provided statically, a number of advanced implementation techniques process type information at run time [11, 18, 28, 20, 25]. Such type information is used in two ways: behind the scenes, typically by tag free garbage collectors [28, 1] and explicitly in program code, for a variety of purposes such as efficient data representation and marshalling [18, 11, 26] In this paper we focus on the latter area of applications. ....

....as we discuss later, it makes abstraction impossible. ffl Type passing results in considerable complexity in language semantics, due in large part to the number of semantic devices that must be duplicated for both terms and types. For example, in semantics that make memory allocation explicit [19, 20] a central device is a formal heap in which data is stored; in a type erasure framework one such heap suffices, but when types are passed it is necessary to add a second heap (and all the attendant machinery) for type data. ffl Type passing also greatly complicates low level intermediate ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Morrisett, Walker, Crary, Glew (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

....For example, TAL disallows pointers into the middle of objects and ensures alignment constraints are obeyed. Support for an accurate collector would require introducing tags so that we may distinguish pointers from integers, or else require a type passing interpretation [Tolmach 1994; Morrisett and Harper 1997]. In the former case, we would have to ensure that all values are properly tagged and fully initialized at every potential garbage collection site. We believe that it is feasible to devise a type system to ensure these constraints, but we have not seriously investigated this option. 8.2 Future ....

Morrisett, G. and Harper, R. 1997. Semantics of memory management for polymorphic languages. In 1st Workshop on Higher Order Operational Techniques in Semantics, A. Gordon and A. Pitts, Eds. Publications of the Newton Institute. Cambridge University Press, Cambridge, UK.


Intensional Polymorphism in Type-Erasure Semantics - Crary, Weirich, Morrisett (1998)   (54 citations)  Self-citation (Morrisett)   (Correct)

....ML may operate on inputs of type # where # is not only unknown, but may in fact be instantiated by a variety of di#erent types. In order to use type information in contexts where it cannot be provided statically, a number of advanced implementation techniques process type information at run time [11, 17, 28, 19, 25]. Such type information is used in two ways: behind the scenes, typically by tagfree garbage collectors [28, 1] and explicitly in program code, for a variety of purposes such as e#cient data representation and marshalling [17, 11, 26] In this paper we focus on the latter area of applications. ....

....structure of their names, rather than by what terms they contain. This approach is critical for practicality. language semantics, due in large part to the number of semantic devices that must be duplicated for both terms and types. For example, in semantics that make memory allocation explicit [18, 19] a central device is a formal heap in which data is stored; in a type erasure framework one such heap su#ces, but when types are passed it is necessary to add a second heap (and all the attendant machinery) for type data. Type passing also greatly complicates low level intermediate languages, ....

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


Intensional Polymorphism in Type-Erasure Semantics - Crary, Weirich, Morrisett (1998)   (54 citations)  Self-citation (Morrisett)   (Correct)

....ML may operate on inputs of type # where # is not only unknown, but may in fact be instantiated by a variety of di#erent types. In order to use type information in contexts where it cannot be provided statically, a number of advanced implementation techniques process type information at run time [10, 16, 27, 18, 24]. Such type information is used in two ways: behind the scenes, typically by tagfree garbage collectors [27] and explicitly in program code, for a variety of purposes such as e#cient data representation and marshalling [16, 10] In this paper we focus on the latter area of applications. To lay a ....

....and, as we discuss later, it makes abstraction impossible. Type passing results in considerable complexity in language semantics, due in large part to the number of semantic devices that must be duplicated for both terms and types. For example, in semantics that make memory allocation explicit [17, 18] a central device is a formal heap in which data is stored; in a type erasure framework one such heap 1 Intensional since types are analyzed by the structure of their names, rather than by what terms they contain. This is critical for practicality. su#ces, but when types are passed it is ....

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Morrisett, Walker, Crary, Glew (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

....P P is a well formed program Fig. 15. TAL static semantic judgments. and elaborated on below. The large number of judgments is a reflection more of the large number of syntactic classes, than of any inherent semantic complexity. The static semantics is inspired by and follows the conventions of Morrisett and Harper s [1997] # ## gc . The first five judgments in Figure 15 specify the well formedness conditions for types and define subtyping relationships. Four of the five judgments include a type context that indicates which type variables are in scope. Heaps and heap types must be closed, and as a result, their ....

....constructed. For example, TAL disallows pointers into the middle of objects and ensures alignment constraints are obeyed. Support for an accurate collector would require introducing tags so that we may distinguish pointers from integers, or else require a type passing interpretation [Tolmach 1994; Morrisett and Harper 1997]. In the former case, we would have to ensure that all values are properly tagged and fully initialized at every potential garbage collection site. We believe that it is feasible to devise a type system to ensure these constraints, but we have not seriously investigated this option. 8.2 Future ....

Morrisett, G. and Harper, R. 1997. Semantics of memory management for polymorphic languages. In 1st Workshop on Higher Order Operational Techniques in Semantics, A. Gordon and A. Pitts, Eds. Publications of the Newton Institute. Cambridge University Press, Cambridge, UK.


Typed Memory Management in a Calculus of Capabilities - Crary, Walker, Morrisett (1999)   (84 citations)  Self-citation (Morrisett)   (Correct)

....following sections, we explain and motivate the main constructs and typing rules of the language one by one. The complete static and operational semantics are specified in Appendix A. 2. 1 Preliminaries We specify the operational behavior of the Capability Calculus using an allocation semantics [22, 23, 24], which makes the allocation of data in memory explicit. The semantics is given by a deterministic rewriting system P # # P # mapping machine states to new machine states. A machine state consists of a pair (M, e) of a memory and a term being executed. A memory is a finite mapping of region ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Extended Version Greg   Self-citation (Morrisett)   (Correct)

....for execution, the copies can (and will) be represented by the same term. This avoids the need for abstract kinds (since there are no type environments) as well as translucent types. A type erasure interpretation is not without its costs: It precludes some advanced implementation techniques [31, 43, 1, 30] and has subtle interactions with side e#ects. We address the latter concern by forcing polymorphic abstractions to be values [42, 49] i.e. they must be syntactically attached to value abstractions) To support this interpretation, we consider the partial application of functions to type ....

....of heap space. It is straightforward to link our TAL to a conservative garbage collector [9] in order to reclaim unused heap values. Support for an accurate collector would require introducing tags so that we may distinguish pointers from integers, or else require a type passing interpretation [43, 30]. The tagging approach is readily accomplished in our framework. 6.3 TAL Static Semantics The static semantics for TAL appears in Figures 21 and 22 and consists of thirteen judgments, summarized in Figure 20 and elaborated briefly below. The static semantics is inspired by and 23 Judgment ....

[Article contains additional citation context not shown here]

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Type Structure for Low-Level Programming Languages - Karl Crary (1999)   (4 citations)  Self-citation (Morrisett)   (Correct)

....a type soundness theorem for TAL code, we must construct a model of program evaluation that is faithful to the semantics of a real machine. We choose to model evaluation using a rewriting system that maps abstract machine states to abstract machine states in a fashion similar to the gc machine [12, 13]. This style of abstract machine provides syntactic structure that reflects the intended abstractions provided by a type system, making it easy to state and prove soundness. For example, we draw a syntactic distinction between integer values and pointers. The abstract machine supports arithmetic ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Morrisett, Walker, Crary, Glew (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

....before execution, the copies can (and will) be represented by the same term. This avoids the need for abstract kinds (since there are no type environments) as well as translucent types. A type erasure interpretation is not without its costs: It precludes some advanced implementation techniques [28, 43, 1, 29] and has subtle interactions with side e#ects. We address the latter concern by forcing polymorphic abstractions to be values [42, 49] i.e. they must be syntactically attached to value abstractions) To support this interpretation, we consider the partial application of functions to type ....

....of heap space. It is straightforward to link our TAL to a conservative garbage collector [8] in order to reclaim unused heap values. Support for an accurate collector would require introducing tags so that we may distinguish pointers from integers, or else require a type passing interpretation [43, 29]. The tagging approach is readily accomplished in our framework. 5.3 TAL Static Semantics The static semantics for TAL appears in Figures 9 and 10 and consists of thirteen judgments, summarized in Figure 8. The static semantics is inspired by and follows the conventions of Morrisett and Harper s # ....

[Article contains additional citation context not shown here]

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Greg Morrisett (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

....before execution, the copies can (and will) be represented by the same term. This avoids the need for abstract kinds (since there are no type environments) as well as translucent types. A type erasure interpretation is not without its costs: It precludes some advanced implementation techniques [28, 43, 1, 30] and has subtle interactions with side effects. We address the latter concern by forcing polymorphic abstractions to be values [42, 47] i.e. they must be syntactically paired with value abstractions) To support this interpretation, we introduce the type code [ ff] fi] 1 ; k ....

....of heap space. It is straightforward to link our TAL to a conservative garbage collector [8] in order to reclaim unused heap values. Support for an accurate collector would require introducing tags so that we may distinguish pointers from integers, or else require a type passing interpretation [43, 30]. The former approach is readily accomplished in our framework. 5.3 TAL Static Semantics The static semantics for TAL appears in Figures 7 and 8 and consists of eleven judgments, summarized below. The static semantics is inspired by and follows the conventions of Morrisett and Harper s 8 ....

[Article contains additional citation context not shown here]

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Intensional Polymorphism in Type-Erasure Semantics - Crary, Weirich, Morrisett (1998)   (54 citations)  Self-citation (Morrisett)   (Correct)

....may operate on inputs of type ff where ff is not only unknown, but may in fact be instantiated by a variety of different types. In order to use type information in contexts where it cannot be provided statically, a number of advanced implementation techniques process type information at run time [11, 17, 28, 19, 25]. Such type information is used in two ways: behind the scenes, typically by tagfree garbage collectors [28, 1] and explicitly in program code, for a variety of purposes such as efficient data representation and marshalling [17, 11, 26] In this paper we focus on the latter area of applications. ....

....structure of their names, rather than by what terms they contain. This approach is critical for practicality. language semantics, due in large part to the number of semantic devices that must be duplicated for both terms and types. For example, in semantics that make memory allocation explicit [18, 19] a central device is a formal heap in which data is stored; in a type erasure framework one such heap suffices, but when types are passed it is necessary to add a second heap (and all the attendant machinery) for type data. ffl Type passing also greatly complicates low level intermediate ....

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


Typed Memory Management in a Calculus of Capabilities - Crary, Walker, Morrisett (1999)   (84 citations)  Self-citation (Morrisett)   (Correct)

....following sections, we explain and motivate the main constructs and typing rules of the language one by one. The complete static and operational semantics are specified in Appendix A. 2. 1 Preliminaries We specify the operational behavior of the Capability Calculus using an allocation semantics [22, 23, 24], which makes the allocation of data in memory explicit. The semantics is given by a deterministic rewriting system P 7 Gamma P 0 mapping machine states to new machine states. A machine state consists of a pair (M; e) of a memory and a term being executed. A memory is a finite mapping of region ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


From System F to Typed Assembly Language (Extended Version) - Morrisett, Walker, Crary.. (1997)   Self-citation (Morrisett)   (Correct)

....for execution, the copies can (and will) be represented by the same term. This avoids the need for abstract kinds (since there are no type environments) as well as translucent types. A type erasure interpretation is not without its costs: It precludes some advanced implementation techniques [31, 43, 1, 30] and has subtle interactions with side effects. We address the latter concern by forcing polymorphic abstractions to be values [42, 49] i.e. they must be syntactically attached to value abstractions) To support this interpretation, we consider the partial application of functions to type ....

....of heap space. It is straightforward to link our TAL to a conservative garbage collector [9] in order to reclaim unused heap values. Support for an accurate collector would require introducing tags so that we may distinguish pointers from integers, or else require a type passing interpretation [43, 30]. The tagging approach is readily accomplished in our framework. 6.3 TAL Static Semantics The static semantics for TAL appears in Figures 21 and 22 and consists of thirteen judgments, summarized in Figure 20 and elaborated briefly below. The static semantics is inspired by and follows the ....

[Article contains additional citation context not shown here]

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Morrisett, Walker, Crary, Glew (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

....before execution, the copies can (and will) be represented by the same term. This avoids the need for abstract kinds (since there are no type environments) as well as translucent types. A type erasure interpretation is not without its costs: It precludes some advanced implementation techniques [28, 43, 1, 29] and has subtle interactions with side effects. We address the latter concern by forcing polymorphic abstractions to be values [42, 49] i.e. they must be syntactically attached to value abstractions) To support this interpretation, we consider the partial application of functions to type ....

....of heap space. It is straightforward to link our TAL to a conservative garbage collector [8] in order to reclaim unused heap values. Support for an accurate collector would require introducing tags so that we may distinguish pointers from integers, or else require a type passing interpretation [43, 29]. The tagging approach is readily accomplished in our framework. 5.3 TAL Static Semantics The static semantics for TAL appears in Figures 9 and 10 and consists of thirteen judgments, summarized in Figure 8. The static semantics is inspired by and follows the conventions of Morrisett and Harper s ....

[Article contains additional citation context not shown here]

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


From System F to Typed Assembly Language - Morrisett, Walker, Crary, Glew (1998)   (6 citations)  Self-citation (Morrisett)   (Correct)

.... r d ] v; S # (H, R r d ## w , S # [# #] where R(v) pack [#, w] as # # Where R(v) # # # # # # # R(r) when v = r w when v = w R(v # ) # ] when v = v # [# ] pack [#, R(v # ) as # # when v = pack [#, v # ] as # # Figure 14: Operational Semantics of TAL type passing interpretation [44, 31, 32]. 7.3 TAL Static Semantics The purpose of the static semantics is to specify when programs are well formed and to ensure that well formed programs do not get stuck. As programs are closed and self contained, this is expressed by the judgment # TAL P . The well formedness of a program is defined ....

....value of type # #; #; # # TAL S S is a well formed instruction sequence # TAL P P is a well formed program Figure 15: TAL Static Semantic Judgments rather than any inherent semantic complexity. The static semantics is inspired by and follows the conventions of Morrisett and Harper s # ## gc [32]. The first five judgments in Figure 15 specify the well formedness conditions for types and define subtyping relationships. Four of the five judgments include a type context that indicates which type variables are in scope. Heaps and heap types must be closed, and as a result, their judgments do ....

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Ownership, Encapsulation and the Disjointness of Type and.. - Clarke, Drossopoulou (2002)   (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In Andrew D. Gordon and Andrew M. Pitts, editors, Higher Order Operational Techniques in Semantics, volume 12 of Publications of the Newton Institute, pages 175--226. Cambridge University Press, 1998.


Completeness and Herbrand Theorems for Nominal Logic - Cheney (2006)   (Correct)

No context found.

G. Morrisett and R. Harper, Semantics of memory management for polymorphic languages, Higher order operational techniques in semantics, Publications of the Newton Institute, Cambridge University Press, 1997.


Inferring Annotated Types for Inter-procedural Register.. - Amtoft, Muller (2002)   (Correct)

No context found.

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. Technical Report CMU-CS-96-176, Carnegie Mellon University, Sept. 1996.


Inferring Annotated Types for Inter-procedural Register.. - Amtoft, Muller (2002)   (Correct)

No context found.

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. Technical Report CMU-CS-96-176, Carnegie Mellon University, Sept. 1996.


A Type System for Expressive Security Policies - Walker (1999)   (28 citations)  (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A.D. Gordon and A.M. Pitts, editors, Higher Order Operational Techniques in Semantics, Publications of the Newton Institute. Cambridge University Press, 1997.


Garbage Collection Safety for Region-based Memory Management - Elsman   (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. Technical Report CMU-CS-96-176, Carnegie Mellon University, September 1996.


Higher-Order Intensional Type Analysis in Type-Erasure Semantics - Weirich (2003)   (3 citations)  (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. D. Gordon and A. M. Pitts, editors, Higher Order Operational Techniques in Semantics. Cambridge University Press, 1997.


Space-Profiling Semantics of the Call-by-Value Lambda Calculus.. - Minamide (1999)   (3 citations)  (Correct)

No context found.

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. Technical report, School of Computer Science, Carnegie Mellon University, 1996. CMU-CS-96-176.


Possibilities and Limitations of Call-by-Need Space Improvement - Gustavsson, Sands (2001)   (2 citations)  (Correct)

No context found.

G. Morrisett and R. Harper. Semantics of memory management for polymorphic languages. In Gordon and Pitts [8], pages 175-226.


the Garbage Collection Bibliography - Richard Jones (2003)   (Correct)

No context found.

Greg Morrisett and Robert Harper. Semantics of memory management for polymorphic languages. In A. Gordon and A. Pitts, editors, Higer Order Operational Techniques in Semantics. Newton Institute, Cambridge University Press, 1997.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC