56 citations found. Retrieving documents...
R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In ACM Symp. on Principles of Programming Languages, 1993. 37

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

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) ....

[Article contains additional citation context not shown here]

Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Principles of Programming Languages (POPL '93), pages 206--219. ACM, 1993.


A Type System For the Push-Enter Model - Kwanghoon Choi Cs (2002)   (Correct)

....need no such a state to indicate dynamic argument status. In spite of the importance of the push enter model as a class of compilation methods for higherorder functions, any type system for the model has never been developed. The type systems for the eval apply model, e.g. one for CPS conversion [5], cannot specify the dynamic property of the push enter model because the eval apply model has a di erent property in argument passing. In this situation, all typed compilation approaches concerning higher order functions, which are an indispensable feature of modern programming languages, are ....

Robert Harper and Mark Lillibridge. Explicit Polymorphism and CPS Conversion. In The Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 206-219, Charleston, South Carolina, January 1993.


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. ....

[Article contains additional citation context not shown here]

Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Principles of Programming Languages (POPL '95), pages 206 219. ACM, 1993.


Secure Information Flow and CPS - Zdancewic, Myers (2001)   (13 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 [15], 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 ) t # = t # ) # s = s , 1) Figure 6 shows the term translation ....

Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Proc. 20th ACM Symp. on Principles of Programming Languages (POPL), 1993.


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

....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. Explicit polymorphism and CPS conversion. In 20th symposium Principles of Programming Languages. ACM Press, 1993.


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. Explicit polymorphism and CPS conversion. In Conf. Record of 20th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, POPL'93, pp. 206-219. ACM Press, 1993.


Secure Information Flow via Linear Continuations - Zdancewic, Myers (2001)   (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 [19], 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 # 0 Figure 11 shows the ....

Harper, R. and M. Lillibridge: 1993, `Explicit Polymorphism and CPS Conversion '. In: Proc. 20th ACM Symp. on Principles of Programming Languages (POPL). pp. 206--219.


Weak Normalization Implies Strong Normalization in.. - Barthe, Hatcliff.. (1997)   (Correct)

....l) h] x) jg ff it turns out that the type of should be : hDi where D is the type of ff: x: ff : x. Our solution to this problem, following Coquand and Herbelin [8] is to define the CPS translation of a term relative to the context in which the terms is considered. Another possibility [14] is to define the translation relative to derivations. These issues are discussed further in [4] However, even in a fixed context, the type of a term is unique only up to fi equality. This ambiguity is resolved by choosing types in normal form; this is possible since we are dealing with systems ....

....The expressions D, E, and F which occur in the clauses for, e.g. x: A : B are not necessarily smaller than x: A : B, but this does not matter since h Deltai s , not [ Delta] s Gamma , is applied to D, E, and F . The idea of using two distinct translations in this way also appears in [8] and [14]. 4.3. Embedding of terms Now we show that, if M 2 Term s Gamma , then [M ] s Gamma 2 Term s Delta s ;h[ Gamma]i s ; Delta s (M) First a lemma. 4.12. Lemma. Let S be weakly normalizing, generalized non dependent, and clean, s 2 S negatable. Let Gamma Delta both be legal, M 2 ....

R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In Conference Record of the Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 206--219. ACM Press, 1993.


CPS Translations and Applications: The Cube and Beyond - Barthe (1996)   (5 citations)  (Correct)

....take the type of a term into account when transforming the term. 9 The conventional solution is to dene the CPS translation by induction over the structure (or over the height) of derivations Gamma M : A. For example, this is the approach taken by Harper and Lillibridge when CPS translating [34]. With such denitions, one generally desires a coherence property: given two dioeerent derivations D 1 and D 2 of Gamma M : oe, the translations hD 1 i and hD 2 i are equivalent in some sense. Reasonable notions of equivalence include syntactic identity as well as weaker notions such as ....

....of the translation itself involves convertability and substitution. Thus, one cannot proceed by rst addressing coherence and then proceeding to substitution, and conversion, etc. one is forced to tackle the associated properties simultaneously. As a point of comparison, Harper and Lillibridge [34] avoid both the problems associated with the conversion and application rules. When translating two dioeerent derivations D 1 and D 2 of the same judgment Gamma M : oe, use of the conversion rule in either D 1 or D 2 may cause the terms hD 1 i and hD 2 i to have dioeerent domain tags on ....

R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In Conference Record of the Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages


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. Explicit polymorphism and CPS conversion. In Conf. Record of 20th ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, POPL'93, pp. 206-219. ACM Press, 1993.


CPS Transform for Dependent ML - Xi, Schürmann   (Correct)

.... initiated by Meyer and Wand for a call by value interpretation of the simply typed calculus [7] Subsequently, Harper and Lillibridge studied the typing properties of several CPS transforms in a language that extends F [3] with some control constructs, where explicit polymorphism is supported [5]. The CPS transform presented in this paper is most closely related to the ML CBV CPS transform in [5] However, what is important in our case is probably not the CPS transform itself. Instead, we are interested in lifting the CPS transform from the level of expressions to the level of type ....

.... Harper and Lillibridge studied the typing properties of several CPS transforms in a language that extends F [3] with some control constructs, where explicit polymorphism is supported [5] The CPS transform presented in this paper is most closely related to the ML CBV CPS transform in [5]. However, what is important in our case is probably not the CPS transform itself. Instead, we are interested in lifting the CPS transform from the level of expressions to the level of type derivations, preparing for building a type preserving compiler for Dependent ML. People are interested in ....

Robert W. Harper and Mark Lillibridge. Explicit polymorphism and cps conversion. In Conference Record of the Twentieth Annual ACM SIGPLAN Symposium on Principles of Programming Languages, pages 206-219, 1993.


Secure Information Flow and CPS - Zdancewic, Myers (2001)   (13 citations)  (Correct)

....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 [15], 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 , 1) # 0 Figure 6 shows ....

Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Proc. 20th ACM Symp. on Principles of Programming Languages (POPL), 1993.


Monadic Encapsulation of Effects: A Revised Approach (Extended .. - Moggi, Sabry (1999)   (4 citations)  (Correct)

....; e0 = j 2 ; r;m j 0 ; e r = 2 ; fm = e1g; r;m m 2 dom( Fig. 4. Evaluation Rules for Instrumented Semantics I (strict state, run) may evaluate under but the monadic interpreter never evaluates under which avoids known problems with the combination of polymorphism and e ects (Harper Lillibridge, 1993). The following are basic properties of the instrumented semantics. Proposition 5.4 Monadic Encapsulation of E ects 17 Pure and Monadic Run Time Errors The rules for error propagation follow the ML convention, those for error generation are: j ; e1 = 0 j 0 ; v j ; e1 e2 = err ....

Harper, Robert, & Lillibridge, Mark. (1993). Explicit polymorphism and CPS conversion.


Typed Closure Conversion - Yasuhiko Minamide Greg   Self-citation (Harper)   (Correct)

No context found.

R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In ACM Symp. on Principles of Programming Languages, 1993. 37


Compiling with Non-Parametric Polymorphism - Preliminary Report Robert   Self-citation (Harper)   (Correct)

No context found.

R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In Conference Record of the 20th Annual ACM Symposium on Principles of Programming Languages, Jan. 1993.


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

No context found.

R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206--219, Charleston, SC, January 1993. ACM, ACM.


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. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206--219, Charleston, SC, January 1993. ACM, ACM.


A Type-Theoretic Approach to Higher-Order Modules with Sharing - Harper, Lillibridge (1994)   (171 citations)  Self-citation (Harper Lillibridge)   (Correct)

....therefore the system supports higher order modules and some object oriented This work was sponsored by the Advanced Research Projects Agency, CSTO, under the title The Fox Project: Advanced Development of Systems Software , ARPA Order No. 8313, issued by ESD AVS under Contract No. F19628 91 C 0168. IElectronic mail address: rhcs. cmu. edu. Electronic mall address: mdlcs. cmu. edu. Perm ss;on to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage. the ACM copyright notice end the title of the ....

....is derivable from dependent functions and translucent sums. The basic idea is to transform Ac: K. M into hx: b cz: K . x.b ce]M where x is not free in M and M [A] into M b cz=A . Note that this implements constructor abstraction as a delaying operationunllke the normal SML semantics. See [16] for a discussion of the differences between these two interpretations of constructor abstractions and why this choice seems to be preferable. 126 have placed field names in bold in order to help emphasize that they are names, not variables. The complete typing rules appear in appendix A. Our ....

[Article contains additional citation context not shown here]

Robert Harper and Mark Lillibridge. Explicit polymor- phism and CPS conversion. In Twentieth ACM Symposium on Principles o.f Programming Languages, pages 206-219, Charleston, SC, January 1993. ACM, ACM.


A Type-Theoretic Approach to Higher-Order Modules with Sharing - Harper, Lillibridge (1994)   (171 citations)  Self-citation (Harper Lillibridge)   (Correct)

....is derivable from dependent functions and translucent sums. The basic idea is to transform ##: K. M into #x: b ##: K . x.b #]M where x is not free in M and M [A]into M ##=A . Note that this implements constructor abstraction as a delaying operation unlike the normal SML semantics. See [16] for a discussion of the di#erences between these two interpretations of constructor abstractions and why this choice seems to be preferable. have placed field names in bold in order to help emphasize that they are names, not variables. The complete typing rules appear in appendix A. Our ....

....to be removed. Unsoundness example: M.y.2) M.y.1) where M is the example in section 4.6. 4 Selected Examples 4. 1 Simple structures Typical SML structures can be translated straightforwardly into our system, with the only complication being the treatment of polymorphism (as discussed in [16]. Consider the following structure S considered in the introduction: type t = int type u = t t val f = fn x:t = x This translates as: S = # t=Int, u # u=t#t, f # f=#x:t. x The translations of the signatures considered earlier (only SIG here is actually a valid SML signature) are: ....

Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206--219, Charleston, SC, January 1993. ACM, ACM.


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

....usual call by value semantics. This suggests that a language in which polymorphic generalization and instantiation are semantically significant would be a well behaved alternative to ML style implicit polymorphism. This perspective has been explored in some detail in subsequent work of the authors [11]. 6. Acknowledgments We are grateful to Olivier Danvy, Bruce Duba, Tim Gri#n, Mark Leone, and the anonymous referees for their helpful comments and suggestions. ....

Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206--219, Charleston, SC, January 1993. ACM, ACM.


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

No context found.

R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206--219, Charleston, Jan. 1993.


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

No context found.

Harper, R. and Lillibridge, M. 1993. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages. ACM Press, Charleston, 206-219.


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

No context found.

Harper, R. and Lillibridge, M. 1993. Explicit polymorphism and CPS conversion. In 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, New York, NY, USA, 206--219.


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

No context found.

R. Harper and M. Lillibridge. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206--219, Charleston, Jan. 1993.


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

No context found.

Robert Harper and Mark Lillibridge. Explicit polymorphism and CPS conversion. In Twentieth ACM Symposium on Principles of Programming Languages, pages 206--219, Charleston, January 1993.

First 50 documents  Next 50

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