48 citations found. Retrieving documents...
Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361--380, November 1993. (See also [19].).

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

From Control Effects to Typed Continuation Passing - Thielecke (2003)   (1 citation)  (Correct)

....Reg(#) Weaken) c M : A e Figure 1: A type and e#ect system (call cc) c call cc : ##.##.##. # ##e # Figure 2: Type and e#ect rule for call cc and Here A and B can be any types; note in particular that A may contain # free. As shown by Harper and Lillibridge [13, 14], adding the operator call cc to the polymorphic # calculus makes the type system unsound, unless the rules for polymorphism are restricted; the value restriction, as found in Standard ML [20] avoids this unsoundness. We restrict the rules dealing with polymorphism in Figure 1 to apply only to ....

....N) A Alternatively, suppose we # abstract the e#ectful expression: c #z. call cc(#k.#x.k(#y.x) B The region # can then be bound in the function type: c #z. call cc(#k.#x.k(#y.x) Remark 2.3 The expression in Example 2. 2 was used by Harper and Lillibridge [13, 14] to show the unsoundness of unrestricted in the presence of call cc. Specifically, the type A could have been a fresh type variable #: c call cc(#k.#x.k(#y.x) # # # However, in our type and e#ect system as defined in Figure 1, we could not #, that is, c call cc(#k.#x.k(#y.x) ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW'92, pages 13--22. Department of Computer Science, Stanford University, June 1992. Published as technical report STAN--CS--92--1426.


From Control Effects to Typed Continuation Passing - Thielecke (2003)   (1 citation)  (Correct)

....F F V: Vo.A c V: A[o B] Weaken) F c : A Fh .A Figure 1: A type and effect system (ca11 cc) Figure 2: Type and effect rule for call cc and r k caii cc: A B) Z A) A Here A and B can be any types; note in particular that A may contain p free. As shown by Harper and Lillibridge [13, 14], adding the operator call cc to the polymorphic A calculus makes the type system unsound, unless the rules for polymorphism are restricted; the value restriction, as found in Standard ML [20] avoids this unsoundness. We restrict the rules dealing with polymorphism in Figure I to apply only to ....

....A O Alternatively, suppose we i abstract the effectful expression: iz. ca11 cc(ik.iz.k(iy.z) B (A A) The region p can then be bound in the function type: iz. ca11 cc(ik.iz.k(iy.z) Vp.B (A A) Remark 2.8 The expression in Example 2. 2 was used by Harper and Lillibridge [13, 14] to show the unsoundness of urestricted V introduction in the presence of ca11 cc. Specifically, the type A could have been a fresh type vari able o: ca cc(Ak. Ax.k(Ay.x) p However, in our type and effect system as defined in Figure 1, we could not V quantify o, that is, ca cc(Ak. ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW'92, pages 13 22. Department of Computer Science, Stanford University, June 1992. Published as technical report STAN CS 92 1426.


Secure Information Flow via Linear Continuations - Zdancewic, Myers (2002)   (9 citations)  (Correct)

....those of the target, except that instead of continuations there are functions. Function types are labeled with their latent e ect, a lower bound on the security level of memory locations that will be written to by that function. The type translation, following previous work on typed CPS conversion [21], is given in terms of three mutually recursive functions: for base types, for security types, and ( to linear continuation types: int = int (s ref) s ref (s 1 s 2 ) s 1 ; s 2 ) 0 t = t ) s = s Figure 11 shows the term translation as a ....

Harper, B. and M. Lillibridge: 1993, `Polymorphic Type Assignment and CPS Conversion'. LISP and Symbolic Computation 6(3/4), 361-380.


Proc. 20th Symp. Principles of Programming Languages.. - Polymorphism By Name   (Correct)

.... it has long been known that the naive polymorphic typing for references is unsound; strong typing restrictions must be put on polymorphic references to ensure soundness [19] Recently, it has been shown that the natural polymorphic typing for continuations [4] is unsound for similar reasons [8, 9]. In this paper, we show that these diculties are not inherent to the polymorphic typing of references and continuations, but speci c to the ML semantics for generalization and specialization (the two constructs that introduce polymorphism) when generalization and specialization are given ....

....fact is folk lore, and the author does not claim originality for noticing it. It is brie y mentioned in several discussions of imperative languages with polymorphic type systems [7, 2] This fact is also apparent in Harper and Lillibridge s recent work on CPS conversion for polymorphic languages [9, 10], which shows that an ML like language (i.e. one with call by value and polymorphism by value) does not admit any type preserving CPS transform, in contrast to languages with call by name or polymorphism by name. The rst aim of the present paper is to formally state this folklore result, by ....

R. Harper and M. Lillibridge. Polymorphic type assignment and CPS conversion. In 1992.


CPS Translating Inductive and Coinductive Types (Extended.. - Barthe, Uustalu (2002)   (Correct)

....classical logic and showed that both Felleisen s CPS translation and its callby name version correspond to well known embeddings of classical logic into intuitionistic logic. Subsequently, typed CPS translations and correctness results have been given for more powerful typed calculi, see, e.g. [27, 28, 8], and applied to the compilation and optimization of typed languages, see, e.g. 19, 44] Grin s discovery initiated a series of studies on the computational content of classical proofs where CPS translations are a frequently employed tool, see, e.g. 13, 33, 38, 39, 34, 12, 4, 42, 24, 25, 35, ....

R. Harper and M. Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361-380, 1993.


Thunks and the Lambda-Calculus - Hatcliff, Danvy (1996)   (3 citations)  (Correct)

....the resulting CPS terms contain a level of inessential encoding of delay and force. 5.5 The factorization holds for types Plotkin s continuation passing transformations were originally stated in terms of untyped calculi. These transformations have been shown to preserve well typedness of terms [12, 13, 18, 20]. The thunk transformation T also preserves well typedness of terms, and the relationship between C and C n is reflected in transformations on types [15, Sect. 4] 6 Related Work Ingerman [16] in his work on the implementation of Algol 60, gave a general technique for generating machine ....

Bob Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Talcott [36]. 19


Thunks and the lambda-Calculus - Hatcliff, Danvy (1997)   (3 citations)  (Correct)

....and the resulting CPS terms contain a level of inessential encoding of delay and force. 4 Thunks in a Typed Setting Plotkin s continuation passing transformations were originally stated in terms of untyped calculi. These transformations have been shown to preserve well typedness of terms [13, 14, 18, 20]. In this section, we introduce typing rules for the suspension operators of and show that the thunk transformation T also preserves well typedness of terms. In addition, we show how the relationship between C v ffi T and C n is reflected in transformations on types. 4.1 Thunk introduction for ....

....values. The following property states that C n and C v preserve well typedness of terms. ffl If Gamma e : oe then C n h[ Gamma]i C n h[e]i : C n h[oe]i. ffl If Gamma e : oe then C v h[ Gamma]i C v h[e]i : C v h[oe]i. Proof: by induction over the derivation of Gamma e : oe (see [13, 14, 18, 20] for further details) 35 The following definition extends C v to the types of . v he oei = C v h[oe]i This reflects the fact that suspensions are translated to terms expecting a continuation (see Figure 9) It is simple to show that the well typedness property for C v (Property 8) ....

Bob Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Talcott [34].


CPS Translating Inductive and Coinductive Types (Extended.. - Barthe, Uustalu (2002)   (Correct)

....classical logic and showed that both Felleisen s CPS translation and its callby name version correspond to well known embeddings of classical logic into intuitionistic logic. Subsequently, typed CPS translations and correctness results have been given for more powerful typed calculi, see, e.g. [27, 28, 8], and applied to the compilation and optimization of typed languages, see, e.g. 19, 44] Grin s discovery initiated a series of studies on the computational content of classical proofs where CPS translations are a frequently employed tool, see, e.g. 13, 33, 38, 39, 34, 12, 4, 42, 24, 25, 35, ....

R. Harper and M. Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361-380, 1993.


Thunks and the Lambda-Calculus - Hatcliff, Danvy (1993)   (3 citations)  (Correct)

....can by implemented via abstraction and application. This gives the simulation properties of delay and force using Plotkin s language. 6 Plotkin s continuation based simulations were originally stated for untyped terms. Meyer, Wand, and others have shown his transformations to be well typed [11, 12, 16, 17]. We show that our thunkbased simulation is also well typed. Moreover, the factorization of C n in terms of C v and T extends to a typed setting. Thunks are often implemented using the protecting by a technique , i.e. by wrapping expressions in parameterless procedures, e.g. e, or ....

....n h[e 1 ]i = C n h[e 2 ]i. Also fi v j v C n h[e 1 ]i = C n h[e 2 ]i iff fij v C n h[e 1 ]i = C n h[e 2 ]i. 4 Thunks in a Typed Setting Plotkin s continuation passing transformations were originally stated in terms of untyped calculi. These transformations have been shown to be well typed [11, 12, 16, 17]. In this section we show that our thunk transformation T is well typed as well. Furthermore, we show that the relationship between C v ffi T and C n established in the previous section for terms extends to types. 4.1 Thunk introduction for a typed language Figure 9 presents Curry style type ....

[Article contains additional citation context not shown here]

Bob Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Talcott


The Marriage of Effects and Monads - Wadler, Thiemann (1998)   (13 citations)  (Correct)

....The extension is presented for the monad system with effects, but applies equally well when effects are absent. In retrospect, the extension seems obvious, since the monad translation handles values specially. Indeed, similar uses of value polymorphism have been proposed by Harper and Lillibridge [HL93] for CPS with call cc) and by Barthe, Hatcliff, and Thiemann [BHT98] for a version of the monadic metalanguage with a configurable type system, in the manner of Pure Type Systems) One might say that value polymorphism fits monads to a T . Outline The remainder of this paper is organised as ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and cps conversion. LISP and Symbolic Computation, 6(4):361--380, 1993.


Implicit Polymorphic Type System for the Blue Calculus - Dal-Zilio (1997)   (1 citation)  (Correct)

....is restricted to variable bounded in a let construct. It is interesting to compare this remark with the distinction made by Leroy in [24, 25] between a construct, ilet valj, for value sharing and a construct, ilet namej, for type generalization. The same distinction is also introduced in [17], where it is stated that, in this variant of ML, it becomes possible to dene a correct ivariant call by value CPS transformj for a polymorphic type assignment system. In Section 2 we brieAEy present and its operational semantics. And in Section 3 we present the polymorphic type system and ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6:361380, 1993.


An Interpretation of Typed Concurrent Objects in the Blue Calculus - Dal-Zilio (1999)   (Correct)

....variables. Using rules (type weak) type app) and (type abs) it is easy to show that the following judgment is valid: Gamma P : Gamma ; ff : T (r) r P ) ff) ff Note that the type ( ff) ff is peculiar to typed icontinuation passing stylej transformations in the calculus [24, 10]. In ( ff) ff, the variable ff is implicitly quanti ed, in the sense that reply(P ) has type 8ff: ff) ff) in the Hindley Milner type system [14] To avoid the introduction of quanti cation in our type system, we use a new type operator (namely Reply( to type the term reply(P ) This ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6:361380, 1993.


Interpreting Functions as π-Calculus Processes: A Tutorial - Sangiorgi (1999)   (3 citations)  (Correct)

....of an optimised version of Fischer s call byvalue CPS. We also did not nd in the literature the uniform CPS transform of Table 6. The relationship between types of terms and types of their CPS images was rst noticed by Meyer and Wand [MW85] Other important papers on types and CPS are [Mur92, HL93, HDM93] Theorem 10.2 is due to Meyer and Wand. The translation of arrow types is sometimes called idouble negation constructionj after Murthy [Mur92] The transformation of types for the callby name CPS in (36) and Theorem 10.9, are by Harper and Lillibridge [HL93] who follow what Meyer and ....

....on types and CPS are [Mur92, HL93, HDM93] Theorem 10.2 is due to Meyer and Wand. The translation of arrow types is sometimes called idouble negation constructionj after Murthy [Mur92] The transformation of types for the callby name CPS in (36) and Theorem 10.9, are by Harper and Lillibridge [HL93] who follow what Meyer and Wand had done for call by value. Connections among functions, continuations and message passing are already well visible, though (as far as we know) not formally stated, in Carl Hewitt s works on actors [Hew77, HBG 73, HB77] A function is represented as an actor ....

R. Harper and M. Lillibridge. Polymorphic type assignment and CPS conversion. Lisp and Symbolic Computation, 6:361380, 1993.


ML Partial Evaluation using Set-Based Analysis - Malmkjær, Heintze, Danvy (1994)   (Correct)

....input (modulo termination) For example, should our partial evaluator preserve ML typing However, the question is not very meaningful for two reasons. First, LAMBDA is not a typed language. Second, the compiler uses transformations that do not preserve ML typability, e.g. CPS transformation [8] and also lambda lifting. 2 System Structure Before describing the analysis and specialization components of our system in detail (Sections 3 and 4 respectively) we give an overview of our system: 1. The input ML program is first parsed, type checked, and translated from abstract syntax into ....

Bob Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Carolyn L. Talcott, editor, Special issue on continuations, LISP and Symbolic Computation, Vol. 6, Nos. 3/4. Kluwer Academic Publishers, 1993.


Compiling Polymorphism Using Intensional Type - Analysis Robert Harper   Self-citation (Harper)   (Correct)

No context found.

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361--380, November 1993. (See also [19].).


Compiling Polymorphism Using Intensional Type - Analysis Robert Harper   Self-citation (Harper)   (Correct)

No context found.

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW92, pages 13--22, Stanford, CA 94305, June 1992. Department of Computer Science, Stanford University. Published as technical report STAN--CS--92--1426.


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

No context found.

R. Harper and M. Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361--380, November 1993.


Explicit Polymorphism and CPS Conversion - Robert Harper Mark (1992)   (41 citations)  Self-citation (Harper Lillibridge)   (Correct)

No context found.

Robert Harper and Mark Lillibridge. Polymorphic type assignment and cps conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW92, pages 13--22, Stanford, CA 94305, June 1992. Department of Computer Science, Stanford University. Published as technical report STAN--CS--92--1426.


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

....so that types are available for analysis by polymorphic code. This required the development of type preserving compilation 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 ....

R. Harper and M. Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361--380, November 1993.


Polymorphic Type Assignment and CPS Conversion - Harper, Lillibridge (1993)   (30 citations)  Self-citation (Harper Lillibridge)   (Correct)

....makes clear that there is a fundamental tension between implicit polymorphism and the call by value interpretation of let. This is consistent with earlier results establishing the inconsistency between unrestricted polymorphism and polymorphic reference types [22, 12] and first class continuations [9, 10]. The source of the inconsistency may be traced to conflicting motivations for the static and dynamic semantics of the language. The polymorphic typing rule for let is motivated by a substitution principle a let bound variable is deemed to have exactly those types that may be ascribed to the ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW92, pages 13--22, Stanford, CA 94305, June 1992. Department of Computer Science, Stanford University. Published as technical report STAN--CS-- 92--1426.


Unchecked Exceptions can be Strictly More Powerful than Call/CC - Lillibridge (1996)   Self-citation (Lillibridge)   (Correct)

.... with extensions that make significant uses of types at run time [14] e.g. dynamic types [1, 3] Since polymorphic expressions are kept distinct from their instances, the anomalies that arise in implicitly polymorphic languages in the presence of references [25] and control operators [12] do not arise. Strategies that evaluate beneath type abstractions are inspired by the operational semantics of ML [5, 17] Evaluation proceeds beneath type abstractions, leading to a once for all instances evaluation of polymorphic terms. Type instantiation is retained as a computation step, but ....

....free type variables, precluding primitives that inductively analyze their type arguments. The superficial e#ciency improvement gained by evaluating beneath type abstractions comes at considerable cost since it is incompatible with extensions such as mutable data structures and control operators [25, 12]. The call cc operator takes one normal argument, which it then calls with the current continuation; if the argument returns, then its value is the result of the call cc expression [4] For example (ignoring types) call cc (#f.3) yields 3 and call cc (#f.f 4; 3) yields 4. The obvious type for ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361--380, November 1993.


Explicit Polymorphism and CPS Conversion - Harper, Lillibridge (1993)   (41 citations)  Self-citation (Harper Lillibridge)   (Correct)

....a computational interpretation of classical linear logic [12] The addition of continuation primitives to polymorphic languages has not, however, been an unalloyed success. In particular, a very natural typing discipline for first class continuations in Standard ML has proved to be unsound [18, 19]. Since the semantics of first class continuations may be expressed by conversion into continuation passing style, it is natural to investigate their typing properties by considering the relation between the type of a term and the type of its CPS transform. Work in this area was initiated by Meyer ....

.... by Meyer and Wand for a call by value interpretation of the simplytyped # calculus [27] and extended to continuation passing primitives by Griffin [16] and Duba, et al. 8] In earlier work, the authors extended these analyses to implicit polymorphism, and established some limitative results [19]. In this paper, we conduct a systematic investigation of the typing properties of CPS conversion for F# control, the higher order polymorphic # calculus of Girard and Reynolds [14, 39] extended with the control primitives cal lcc and abort . Extensions and variations of F# lie at the core of ....

[Article contains additional citation context not shown here]

Robert Harper and Mark Lillibridge. Polymorphic type assignment and cps conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW92, pages 13--22, Stanford, CA 94305, June 1992. Department of Computer Science, Stanford University. Published as technical report STAN--CS--92--1426.


Type Theory for Programming Languages - Harper (1994)   Self-citation (Harper)   (Correct)

....is highly recommended. Early studies of particular importance were carried out by Fischer [22] Reynolds [60] and Plotkin [55] The typing properties of the cps transform were first studied by Meyer and Wand [42] and subsequently extended to the polymorphic case by Harper and Lillibridge [33]. The extension of typed languages with control operators was studied by Harper, et al. 31] and Filinski [20] The connection between control operators, cps conversion, and classical logic was established by Griffin [27] and Murthy [51] 32 Chapter 4 References 4.1 Introduction A unique ....

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6(4):361--380, November 1993. (See also [32].). 107


Type Theory for Programming Languages - Harper (1994)   Self-citation (Harper)   (Correct)

No context found.

Robert Harper and Mark Lillibridge. Polymorphic type assignment and CPS conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW92, pages 13--22, Stanford, CA 94305, June 1992. Department of Computer Science, Stanford University. Published as technical report STAN--CS--92--1426.


An Interpretation of Typed Concurrent Objects in the Blue Calculus - Zilio (2000)   (Correct)

No context found.

R. Harper and M. Lillibridge. Polymorphic type assignment and CPS conversion. LISP and Symbolic Computation, 6:361380, 1993.

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