33 citations found. Retrieving documents...
J.-P Talpin and P. Jouvelot. Polymorphic type, region, and e#ect inference. Journal of Functional Programming, 2(3):245--271, July 1992.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Relaxing the Value Restriction - Jacques Garrigue Research (2003)   (1 citation)  (Correct)

....typings do allow some degree of polymorphism, one may remark that references in imp map are purely local to the computation, and do not escape from its scope. As such, they should be normal polymorphic variables. Yet more re ned type systems, based either on e ect analysis by Talpin and Jouvelot [14] or closure typing by Leroy and System Type of imp map Old Caml (int string) int list string list SML 90 ( SML=NJ ( E ects ( list list Closure ( M list N list with . N Value ( list list Figure 1: ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2(3):245-271, July 1992.


Static Monotonicity Analysis for lambda-Definable Functions.. - Murawski, Yi   (Correct)

....me(y) v # 2 because me # me, so v 2 (me[0 x] y) v # 2 . The reasoning in other cases is pretty much similar and uses the arguments we have outlined informally when introducing the system. 5 Algorithm Our e#ect type system is a little di#erent from conventional e#ect systems. In [TT94,TT93,TJ92,TJ91] e#ects are constant symbols and the only operation involved is set union. In this paper e#ects (monotonicity tables) are subject to other operations: #, if and ifc. Hence, we cannot solely rely on the unification procedure [Rob65] for type inference. Our algorithm consists of two phases: ....

Jean-Piere Talpin and Pierre Jouvelot. Polymorphic type, region and e#ect inference. Journal of Functional Programming, 2(3):245--271, July 1992.


MJ: An imperative core calculus for Java and Java with.. - Bierman, Parkinson, Pitts (2003)   (2 citations)  (Correct)

....in Java. To demonstrate this utility we consider extending the MJ type system with e#ects. An e#ects system can be used to delimit the scope of computational e#ects within a program. E#ects systems originated in work by Gi#ord and Lucassen [8, 16] and were pursued by Talpin and Jouvelot [19, 20], amongst others. Interestingly most of these systems were defined for functional languages with simple forms of state. Greenhouse and Boyland [10] have recently suggested how an e#ects system could be incorporated within Java. The key di#culty is the interaction between the e#ects system and ....

....there are infinitely many solutions to this constraint. However the minimum solution is what is needed (in this case it is X ## R(r) Lemma 3.5 (Existence of minimum solution) Given a constraint set there is a unique, minimal solution. Proof. A proof was given by Talpin and Jouvelot [19]. They also give an algorithm for finding the minimum solution of a set of constraints. Our main result in this section is that our inference algorithm is correct, in that it generates valid e#ect annotations. First we prove a couple of useful lemmas about e#ect substitution. The first states that ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region, and e#ect inference. Journal of Functional Programming, 2(3):245--271, 1992.


Effects and effect inference for a core Java calculus - Bierman, Parkinson (2003)   (Correct)

....this utility, in the majority of this paper, we consider extending the MJ type system with e#ects. An e#ects system can be used to delimit the scope of computational e#ects within a program. E#ects systems originated in work by Gi#ord and Lucassen [4] and were pursued by Talpin and Jouvelot [10], amongst others. Interestingly most of these systems were defined for functional languages with simple state. Greenhouse and Boyland [5] have recently suggested how an e#ects system could be incorporated within Java. The key di#culty is the interaction between the e#ects system and the ....

....However the minimium solution is what is needed (in this case it is the substitution X ## R(r) Lemma 4.1 (Existence of minimum solution) Given a constraint set E X 1 , E n X n there is a unique, minimal solution. Proof. A proof was given by Talpin and Jouvelot [10]. They also give an algorithm for finding the minimum solution of a set of constraints. # Lemma 4.2 (Substitutions satisfy subtyping) If # : R s and # satisfies R s then #(#) ok. The next lemma states that e#ect substitutions preserve typing judgements. Lemma 4.3 (E#ect substitution ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region, and e#ect inference. Journal of Functional Programming, 2(3):245--271, 1992.


External Uniqueness is Unique Enough - Clarke, Wrigstad (2002)   (14 citations)  (Correct)

....Our notion of external aliasing and to a lesser extent our borrowing construct were designed for a similar goal, but in the object oriented setting. Region based memory management Our scoped region construct is similar to lexically scoped letregion construct used in region based memory management [35, 36]. There are a number of di#erences. Firstly, our construct is under programmer control, as in Cyclone [24] whereas the regions calculus is the basis for a compiler s intermediate language. Secondly, the principal aim of region based memory management di#ers from ours, which is to limit the ....

J.-P Talpin and P. Jouvelot. Polymorphic type, region, and e#ect inference. Journal of Functional Programming, 2(3):245--271, July 1992.


External Uniqueness - Clarke, Wrigstad (2003)   (3 citations)  (Correct)

....and Garza [22] which permit arbitrary weak references (non component references) whereas we allow only those which are con ned within an object. Region based memory management. Our scoped region construct is similar to lexically scoped letregion construct used in region based memory management [32, 33], except that our construct is under programmer control, as in Cyclone [20] the technical machinery is based on reference structure rather than e ects, and our aim is for orthogonality rather than memory management. We note in passing that regions systems lack the deep encapsulation of objects ....

J.-P Talpin and P. Jouvelot. Polymorphic type, region, and e ect inference. Journal of Functional Programming, 2(3):245-271, July 1992.


Isolating Side Effects in Sequential Languages - Riecke, Viswanathan (1995)   (7 citations)  (Correct)

....(as with ILC and Idealized Algol) and that the syntax of assignments, pure, and return are somewhat restrictive. Far less attention has been paid to controlling side effects in the call by value realm. Some of the most welldeveloped approaches are the type and e ect systems for assignments [17, 19, 20, 41, 42], continuations [16] and exceptions [10] In each of these languages, a static system assigns both types and possible e ects to expressions; the type and e ect can then be used in the generation of code for parallel architectures and other applications. For example, in the type and e ect system ....

....follows from Theorem 10 and a suitable standardization theorem for VPCF (cf. 30] The type and e ect system has at least two advantages over the encap operation in VPCF S encap. First, using ideas from type inference, the compiler can determine the type and e ect of an expression automatically [42]; the programmer need not worry about the type and e ects of expressions initially. Second, the language can be implemented using a single threaded state: type and e ect annotations give hints to where parallelization can happen safely without write after read or write after write con icts, i.e. ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2:245-271, 1992.


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

....of operations are performed, it may consider using capabilities to check that the appropriate invariants are maintained. 4. 2 Related Work The Capability Calculus derives its lineage from the work of Gi#ord and Lucassen on type and e#ect systems [11, 20] and the subsequent study by many others [16, 33, 36, 34]. The relationship between e#ects and capabilities is quite close. A necessary prerequisite for the use of either system is type inference, performed by a programmer or compiler, and much of the research into e#ects systems has concentrated on this di#cult task. Because of the focus on inference, ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region, and e#ect inference. Journal of Functional Programming, 2(3):245--271, July 1992.


Polymorphic Specialization for ML - Helsen, Thiemann (2001)   (Correct)

....this work, we depart from the ad hoc approach and design a polymorphic binding time analysis as an extension of region inference. 1. 2 The Region Calculus A region calculus is an annotated polymorphically typed lambda calculus that makes memory allocation and deallocation explicit using regions [18, 34, 49, 60]. A prominent example is the region calculus by Tofte and Talpin [61] which we will refer to as . This calculus has been successfully used to implement a compiler for Standard ML [40] without trace based garbage collection [59] and forms the basis for the o ine partial evaluator of this ....

....formula. This is done within their HM(X) framework, in order to recycle fast boolean constraint solvers. Their approach lacks a corresponding specialization semantics, thereby questioning the usefulness and correctness of such a BTA. Thiemann [52] considers another variant of the region calculus [49] as the basis of a binding time analysis for ML with references. In that work, the emphasis was on dealing with the imperative aspects of ML. The analysis is monovariant and the correctness proof is indirect through a translation to a pure lambda calculus. The Dependency Core Calculus of Abadi ....

Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2(3):245-272, July 1992.


Polymorphic Specialization for ML - Helsen, Thiemann (2002)   (Correct)

....this work, we depart from the ad hoc approach and design a polymorphic binding time analysis as an extension of region inference. 1. 2 The Region Calculus A region calculus is an annotated polymorphically typed lambda calculus that makes memory allocation and deallocation explicit using regions [18, 34, 49, 60]. A prominent example is the region calculus by Tofte and Talpin [61] which we will refer to as # . This calculus has been successfully used to implement a compiler for Standard ML [40] without trace based garbage collection [59] and forms the basis for the o#ine partial evaluator of this ....

....formula. This is done within their HM(X) framework, in order to recycle fast boolean constraint solvers. Their approach lacks a corresponding specialization semantics, thereby questioning the usefulness and correctness of such a BTA. Thiemann [52] considers another variant of the region calculus [49] as the basis of a binding time analysis for ML with references. In that work, the emphasis was on dealing with the imperative aspects of ML. The analysis is monovariant and the correctness proof is indirect through a translation to a pure lambda calculus. The Dependency Core Calculus of Abadi ....

Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and e#ect inference. Journal of Functional Programming, 2(3):245--272, July 1992.


Fickle: Dynamic Object Re-classification - Drossopoulou, Damiani.. (2001)   (15 citations)  (Correct)

....re classi cations; in that sense, they represent object s possible states. Root classes are the superclasses of such state classes and declare all the members common to them. Only non state classes may appear as types of parameters or elds. Fickle is statically typed, with a type and e ect system [24, 31], which determines the reclassi cation e ect of an expression on the receiver and on all other objects. The type system is sound, so that terminating execution of a well typed expression produces a value of the expected type, or a null pointer exception, but does not get stuck. This paper is ....

J.-P. Talpin and P. Jouvelot. Polymorphic Type, Region and E ect Inference. Journal of Functional Programming, 2(3):245-271, 1992.


On Regions and Linear Types (Extended Abstract) - Walker, Watkins (2001)   (Correct)

.... problem have repeatedly found success: Linear type systems, which have been derived from Girard s linear logic [11] and Reynolds syntactic control of interference [24] and The type, region and e ect discipline developed by Gifford and Lucassen [10] and re ned by Jouvelot, Talpin and Tofte [17, 26, 28]. Despite the individual successes of these techniques, there has been little research that attempts to understand the relationships between the two or how to unify them in a single language. Hence, in this paper, we investigate how they may be fruitfully used together in the domain of memory ....

.... with Girard s linear logic [11] and Reynolds syntactic control of interference [24] Linear type systems were later studied by many researchers [19, 30, 1, 3, 6, 29, 34, 15] Type and e ect systems were introduced by Gi ord and Lucassen [10] and they too have been explored by many others [17, 26, 28, 21]. More recently, a number of new linear type systems, or more generally, substructural type theories, have been developed such as Kobayashi s quasi linear types [18] Polakow and Pfenning s ordered type theory [22, 23] There is also renewed interest in developing new logics that facilitate ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region, and e ect inference. Journal of Functional Programming, 2(3):245-271, July 1992.


Fickle: Dynamic Object Re-classification (Extended.. - Drossopoulou, Damiani, .. (2001)   (Correct)

....re classi cations; in that sense, they represent object s possible states. Root classes are the superclasses of such state classes and declare all the members common to them. Only non state classes may appear as types of parameters or elds. Fickle is statically typed, with a type and e ect system [17, 23], which determines the re classi cation e ect of an expression on the receiver and on all other objects. The type system is sound, so that terminating execution of a well typed expression produces a value of the expected type, or a null pointer exception, but does not get stuck. This paper is ....

J.-P. Talpin and P. Jouvelot. Polymorphic Type, Region and E ect Inference. Journal of Functional Programming, 2(3):245-271, 1992. 14


MetaKlaim: Meta-Programming for Global Computing - Ferrari, Moggi, Pugliese (2001)   (Correct)

.... would like to check that a process abstraction fetched from a TS does not perform unwanted interactions (e.g. communication with a certain locality) or meta programming activities (e.g. symbolic evaluation or code execution) We believe that a promising approach is to adopt a type and e ect system [26, 27, 21]. 5 Examples In a global computing scenario most SW components available on the network are expected to be highly parametrized, in order to accommodate a multiplicity of applications and to adapt to a variety of platforms 6 Redexes r i 2 R i at level i 2 f0; 1g r 0 : x j v 0 1 v ....

J.-P. Talpin, P. Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2(3):245-271, 1992.


On Regions and Linear Types - Walker, Watkins   (15 citations)  (Correct)

....the authors and should not be interpreted as representing ocial policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the U.S. government. 3. Finally, the type and e ect discipline developed by Gi ord and Lucassen [12] and re ned by Jouvelot, Talpin and Tofte [17, 32, 34] uses a type system and type inference techniques to track accesses to resources. In order to make their analysis feasible, resources are normally grouped into regions. Tofte and others [33] use regions and e ects to perform all memory management operations in their ML compiler. More recently, ....

.... with Girard s linear logic [13] and Reynolds syntactic control of interference [29] Linear type systems were later studied by many researchers [19, 37, 1, 20, 6, 36, 42, 15] Type and e ect systems were introduced by Gi ord and Lucassen [12] and they too have been explored by many others [17, 32, 34, 24]. More recently, a number of new linear type systems, or more generally, substructural type theories, have been developed. For example, Kobayashi s quasi linear types [18] Polakow and Pfenning s ordered type theory [27, 28] O Hearn s bunched typing [25] and Smith, Walker and Morrisett s ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region, and e ect inference. Journal of Functional Programming, 2(3):245-271, July 1992.


Type-Based Useless Variable Elimination - Kobayashi (2000)   (11 citations)  (Correct)

....The transformation method sketched above does not preserve side e ects (including non termination) For example, consider an expression ( x:1)M and suppose that M diverges. The expression is transformed into ( x:1) In order to preserve side e ects, we just need to perform an e ect analysis [26] and disallow the replacement of a side e ecting expression. For simplicity, we rst ignore the problem of side e ects and then discuss a remedy of this later. Although the remedy is very simple, the optimality does not hold any more: If we must preserve divergence (in the call by value ....

.... fun f(x, y) if x 0 then ( else (print x;f(x 1, y 1) in f(2, 3) end is transformed into ( To avoid this, it suces to change the rule (Tr Unit) as follows: M is e ect free M : unit ) Tr Unit) Here, the condition M is e ect free can be expressed by using appropriate e ect systems [26], depending on what kind of side e ect we want to preserve. By regarding calls to recursive functions and print as having side e ects, we can safely transform the above program into: let fun f(x, if x 0 then ( else (print x;f(x 1, in f(2, end More aggressive transformations. As ....

J.-P. Talpin and P. Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2(3):245-271, 1992.


An Equational Theory for a Region Calculus - Revised - Helsen (2002)   Self-citation (Region)   (Correct)

....at the cost of some runtime overhead. Implemented in the rst LISP systems, garbage collection has found its way in many modern languages such as Smalltalk, ML and Java. The desire to have static control of memory management, retaining deallocation safety, led to the introduction of regions [14,27,48,52]. Region annotations can be automatically inferred by means of a type and e ect analysis [6, 49, 50, 53] As such, it is possible to eliminate the runtime cost of trace based garbage collection without losing deallocation safety. Based on the region calculus by Tofte and Talpin [53] the ML kit ....

Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2(3):245-272, July 1992.


An Equational Theory for a Region Calculus - Helsen (2002)   Self-citation (Region)   (Correct)

....at the cost of some runtime overhead. Implemented in the first LISP systems, garbage collection has found its way in many modern languages such as Smalltalk, ML and Java. The desire to have static control of memory management, retaining deallocation safety, led to the introduction of regions [14, 27,46, 50]. Region annotations can be automatically inferred by means of a type and e#ect analysis [6,47,48,51] As such, it is possible to eliminate the runtime cost of trace based garbage collection without losing deallocation safety. Based on the region calculus by Tofte and Talpin [51] the ML kit [49] ....

Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and e#ect inference. Journal of Functional Programming, 2(3):245--272, July 1992. 40


An Equational Theory for a Region Calculus - Helsen (2002)   Self-citation (Region)   (Correct)

....at the cost of some runtime overhead. Implemented in the rst LISP systems, garbage collection has found its way in many modern languages such as Smalltalk, ML and Java. The desire to have static control of memory management, retaining deallocation safety, led to the introduction of regions [14, 27,46, 50]. Region annotations can be automatically inferred by means of a type and e ect analysis [6,47,48,51] As such, it is possible to eliminate the runtime cost of trace based garbage collection without losing deallocation safety. Based on the region calculus by Tofte and Talpin [51] the ML kit [49] ....

Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2(3):245-272, July 1992. 40


Stratified Operational Semantics for Safety and Correctness of.. - Calcagno (2001)   (6 citations)  Self-citation (Region)   (Correct)

....SIGPLAN SIGACT Symposium on Principles of Programming Languages (POPL 2001) c 2001 by ACM. useless, and add (constant time) operations for reclaiming memory in xed position inside the code generated during compilation. This is the approach adopted in the design of region and e ect systems [17] and in particular in the region calculus [19, 20, 18, 5, 6, 1] extending traditional type systems with regions and e ects annotations. The syntax of the region calculus extends the call by value typed lambda calculus with region annotations and a construct for allocating regions using a stack ....

J. Talpin and P. Jouvelot. Polymorphic type, region and e ect inference. Journal of Functional Programming, 2(3), 1992.


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

No context found.

J.-P Talpin and P. Jouvelot. Polymorphic type, region, and e#ect inference. Journal of Functional Programming, 2(3):245--271, July 1992.


Type and Behaviour Reconstruction for Higher-Order.. - Amtoft, Nielson, Nielson (1993)   (3 citations)  (Correct)

No context found.

Jean-Pierre Talpin and Pierre Jouvelot. Polymorphic type, region and e#ect inference. Journal of Functional Programming, 2(3):245--271, 1992.


Time Regions and Effects for Resource Usage Analysis - Kobayashi (2003)   (Correct)

No context found.

J.-P. Talpin and P. Jouvelot. Polymorphic type, region and e#ect inference. Journal of Functional Programming, 2(3):245--271, 1992.


A Modal Calculus for Effect Handling - Nanevski (2003)   (1 citation)  (Correct)

No context found.

J.-P. Talpin and P. Jouvelot. Polymorphic type, region and e#ect inference. Journal of Functional Programming, 2(3):245--271, 1992.


A Generic Type System for the Pi-Calculus - Igarashi, Kobayashi (2003)   (30 citations)  (Correct)

No context found.

J.-P. Talpin and P. Jouvelot. Polymorphic type, region and e#ect inference. Journal of Functional Programming, 2(3):245--271, 1992.

First 50 documents

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