| Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 224 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985. |
....which superimposes a type and e#ect [17] discipline on a Scheme like language. While this e#ect system was originally concerned with assignments, Gi#ord and Jouvelot [15] extended it to control e#ects. The output of the CPS transform is highly stylized; some of this can be formalized with types [19]. Concretely, if an expression M has type A, its CPS transform M has type Ans) Ans, where the latter typing can be refined in several ways (some of which are part of the continuations folklore) 1.1 Answer type polymorphism First, the answer type is abstract, in that we can assume it to be ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs, number 193 in Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
....super imposes a type and effect [17] discipline on a Scheme like language. While this effect system was originally concerned with assignments, Gifford and Jouvelot [15] extended it to control effects. The output of the CPS transform is highly stylized; some of this can be formalized with types [19]. Concretely, if an ex pression M has type A, its CPS transform M has type (A Ans) Ans, where the latter typing can be refined in several ways (some of which are part of the continuations folklore) 1.1 Answer type polymorphism First, the answer type is abstract, in that we can assume it to ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs, number 193 in Lecture Notes in Computer Science, pages 219 224. Springer-Verlag, 1985.
.... In their study of the relationship between direct and continuation semantics for the simply typed # calculus (# # ) Meyer and Wand note that the type of a term in # # may be related in a simple and natural way to the type of its call by value continuation passing style (CPS) transform [13]. This result may be extended to the calculus that results from extending # # with Scheme like continuation passing primitives callcc and throw (# # cont) 1, 4] Since # # under a call by value operational semantics is type safe in the sense of Milner [14, 2] and since the call by value CPS ....
....CPS transform for the simply typed # calculus establishes a simple and natural relationship between the type of a term and the type of its call by value CPS transform. Meyer and Wand exploited this relationship in their proof of the equivalence of the direct and continuation semantics of # # [13]. A minor extension of this result may be used to establish the soundness of typing for # # cont, the extension of # # with continuation passing primitives [4] under call byvalue. In this paper we have presented a systematic study of the extension of the Meyer Wand theorem to the Damas Milner ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--
.... In their study of the relationship between direct and continuation semantics for the simply typed # calculus (# # ) Meyer and Wand note that the type of a term in # # may be related in a simple and natural way to the type of its call by value continuation passing style (CPS) transform [8]. This result may be extended to the calculus that results from extending # # with Scheme like continuation passing primitives callcc and throw (# # cont) 1, 3] Since # # under a call by value operational semantics is type safe in the sense of Milner [9, 2] and since the call by value CPS ....
....CPS transform for the simply typed # calculus establishes a simple and natural relationship between the type of a term and the type of its call by value CPS transform. Meyer and Wand exploited this relationship in their proof of the equivalence of the direct and continuation semantics of # # [8]. A minor extension of this result may be used to establish the soundness of typing for # # cont, the extension of # # with continuation passing primitives [3] under call by value. In this paper we have presented a systematic study of the extension of the Meyer Wand theorem to the Damas Milner ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 224 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
....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 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 ....
....only a restricted language enjoys this property when interpreted under the ML like call by value strategy. The focus of our study is on the typing properties of CPS conversion of F# control, following the seminal work of Plotkin [36] extended by Felleisen, et al. 10, 9] and Meyer and Wand [27] (extended by Griffin [16] and Duba, et al. 8, 18] First, we isolate several continuation passing style sub languages of F# . The standard CPS language is the largest sub language of F# on which the by value and by name variants of the standard strategies coincide, and the ML like CPS ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 224 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
.... of independent interest, e.g. relating source programs to their intermediate representation in a CPS compiler, relating direct compilers to CPS compilers, relating classical proofs to constructive proofs, and relating denotations in direct semantics to denotations in continuation semantics [65, 78, 91, 98]. Some of the above problems have been thoroughly studied in the literature, but the precise role of the CPS transformation in the compilation process is still not completely understood. The reason for this gap in our knowledge may be due to the size, complexity, and informal nature of most ....
....base type, e.g. natural numbers. The term language is the subset of to which we can assign simple types as follows: M : x j (M :M The CPS transformation on simply typed terms can be factored into a CPS transformation on types and a CPS transformation on raw (untyped) terms [65]. If M is of type t, then F [ M ] is of type (t a) a where a is a distinguished type of answers: o = o t s = s a) t a The set of CPS terms is the subset of the language cps ( for which we can assign simple types. Assuming that the continuation is the first argument to a ....
Meyer, A. R. and Wand, M. Continuation semantics in typed lambda-calculi. In Proceedings Workshop Logics of Programs, Lecture Notes in Computer Science, 193 (1985) 219--224.
....into CPS terms. In a seminal paper [41] Plotkin de ned call by value and call byname CPS translations for the untyped calculus and established some of their important properties. Felleisen et al. 17] extended the call by value translation to also cover their control operator C. Meyer and Wand [32] showed that Plotkin s call by value CPS translation is type correct in a simply typed setting. Grin [23] noted that Felleisen s C types with the double negation rule of classical logic and showed that both Felleisen s CPS translation and its callby name version correspond to well known ....
A. R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, ed., Proc. of 3rd Workshop on Logics of Programs, vol. 193 of Lect. Notes in Comp. Sci., pp. 219-224. Springer-Verlag, 1985.
....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 ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985.
....the structure of terms disallow such problematic cases, limited forms of j reduction can be applied soundly. 1. 5 Continuation based simulations This section presents Plotkin s continuation based simulations of call byname in call by value and vice versa [23] As characterized by Meyer and Wand [18], CPS terms are tail recursive: no argument is an application. Therefore there is at most one redex which is not inside the scope of an abstraction, and thus call by value evaluation coincides with outermost or call by name evaluation. 1.5.1 Call by name continuation passing style Figure 3 ....
....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 ....
[Article contains additional citation context not shown here]
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985.
....literature, including those of Barendregt s cube. Keywords: Continuation passing style, pure type systems, dependent types, the lambda cube 1. Introduction Continuation passing style (CPS) translations of typed calculi have appeared throughout the literature since the work of Meyer and Wand [45]. Applications, 2 too numerous to be listed exhaustively here, include compilation [1, 25] transformation [14, 49] and analysis [58, 59, 65] of typed programming languages, construction of semantics denitions for languages with jumps [56, 61] exceptions, and concurrency primitives [26] ....
....term to something which is fi equivalent (or fij equivalent) with the original term, but the translation is still very useful for the intended application. Now let be a xed type variable, and :oe j oe . The map hffli : T T dened in Figure 3 is the call by name analogue of Meyer and Wand s [45] CPS translation of types. As usual, h Gammai = fx : hoei j x : oe 2 Gammag. One can now show that hoei = hoei 0 hffi 0 = ff hoe i 0 = hoei hi Figure 3. Call by name CPS translation of types if Gamma M : oe then h Gammai; Delta hMi : hoei for a certain Delta; that is, the ....
A.R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 2
....into CPS terms. In a seminal paper [41] Plotkin de ned call by value and call byname CPS translations for the untyped calculus and established some of their important properties. Felleisen et al. 17] extended the call by value translation to also cover their control operator C. Meyer and Wand [32] showed that Plotkin s call by value CPS translation is type correct in a simply typed setting. Grin [23] noted that Felleisen s C types with the double negation rule of classical logic and showed that both Felleisen s CPS translation and its callby name version correspond to well known ....
A. R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, ed., Proc. of 3rd Workshop on Logics of Programs, vol. 193 of Lect. Notes in Comp. Sci., pp. 219-224. Springer-Verlag, 1985.
....also mention that least solutions may or may not be preserved by administrative reductions of CPS transformed programs. In that, they implicitly share our concern about syntactic accidents, even though their primary goal was to transfer Wand s pioneer results on the CPS transformation of types [19, 34] to the CPS transformation of flow types. 5 Actually, Nielson s work is only indirectly connected since it addresses a continuation semantics instead of a direct semantics of a CPS transformed program. 5.2 Binding time analysis and the CPS transformation Binding time improvements have always ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985. Springer-Verlag.
....the respective CPS transforms of expressions and types, and R to the proof that the CPS transform is type correct. 5 Related Work and Conclusion The study on the typing properties of CPS transform was 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 ....
Albert Meyer and Mitchell Wand. Continuation Semantics in Typed Lambda Calculi (summary). In Rohit Parikh, editor, Logics of Programs, pages 219-224. Springer-Verlag LNCS 224, 1985.
....as well. Assume there is a distinguished type o, and define the transformation ff on types as t = t; ff fi) ff (fi o) o: Theorem 5 [cps as a typed transform] If M is an IS t expression of type ff, then M has type (ff o) o. This fact simply extends a result of Meyer and Wand [13] from simply typed terms to typed terms containing C. An embedding of classical implicational logic (C) into constructive implicational logic (J) is defined to be a translation of formulae ff 0 such that if there is a classical proof of ff, then there is a constructive proof of ff 0 , where ....
A. R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Logics of Programs, pages 219-- 224. Springer-Verlag, 1985. Lecture Notes in Computer Science, Volume 193.
....code is padded based on expression types. The correctness of the partial CPS transformation is proven similarly to that of Plotkin s simulation theorem[Plo75] There are analogous works in literature. Our n2c and c2n functions can be seen as the retraction pairs in the setting of Meyer and Wand[MW85]. Danvy, Dussart, and Hatcliff [DD95, DH93a, DH93b] s works are analogous to ours. They switch between call by value and call by name CPS transformations interconnecting the two transformations by delay and force operators. Another analogous one is Leroy s box and unbox operators[Ler92] ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi. In R. Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219-- 224. Springer, Brooklyn, June 1985.
....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 ....
....(e) v iff e 7 Gamma v v We write e 7 Gamma i e 0 when both e 7 Gamma n e 0 and e 7 Gamma v e 0 . 1. 5 Continuation based simulations This section presents Plotkin s continuation based simulations of call by name in call by value and vice versa [20] As characterized by Meyer and Wand [16], CPS terms are tail recursive: no argument is an application. Therefore there is at most one redex which is not inside the scope of an abstraction, and thus call by value reduction coincides with outermost or call by name reduction. 1.5.1 Call by name continuation passing style Figure 3 gives ....
[Article contains additional citation context not shown here]
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary) . In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985.
....The source language, L ae , is just the language L defined earlier. The target language, L ae , is the variant of L obtained by replacing the single recursive type ae by another recursive type ae obtained from ae by a transformation on types similar to that given by Meyer and Wand [12]. We let Type ae denote the set of type expressions of L ae , that is Type ae = Type. The set of target type expressions, denoted Type ae , is defined exactly as Type, but with ae for ae. Below we define two type translations from Type ae to Type ae , one for computations, ....
....logical equivalence relation for a recursive type, as outlined in Section 6. Several authors have considered the correctness of the cps transformation. Reynolds [20] gives a proof for an untyped functional language by working over a domain model given by an inverse limit construction. Meyer Wand [12] give a somewhat different proof for the simply typed calculus (without a recursive type) The proof given in Section 7 generalizes both of these to a typed language with a recursive type without appealing to a denotational semantics. 9 Conclusion We have presented a method for constructing ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219-- 224. Springer-Verlag, 1985.
....The source language, L ae , is just the language L defined earlier. The target language, L ae , is the variant of L obtained by replacing the single recursive type ae by another recursive type ae obtained from ae by a transformation on types similar to that given by Meyer and Wand (Meyer Wand, 1985). We let Type ae denote the set of type expressions of L ae , that is Type ae = Type. The set of target type expressions, denoted Type ae , is defined exactly as Type, but with ae for ae. Below we define two type translations from Type ae to Type ae , one for computations, ....
....relation for a recursive type, as outlined in Section 6. Several authors have considered the correctness of the cps transformation. Reynolds (Reynolds, 1974a) gives a proof for an untyped functional language by working over a domain model given by an inverse limit construction. Meyer Wand (Meyer Wand, 1985) give a somewhat different proof for the simply typed calculus (without a recursive type) The proof given in Section 7 generalizes both of these to a typed language with a recursive type without passage to a denotational semantics. 9 Conclusion We have presented a method for constructing ....
Meyer, Albert R., & Wand, Mitchell. 1985. Continuation Semantics in Typed Lambda Calculi (Summary). Pages 219--224 of: Parikh, Rohit (ed), Logics of Programs. Lecture Notes in Computer Science, vol.
....context Reynolds s article [62] on the history of continuations in programming languages 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 ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224. SpringerVerlag, 1985.
....Instead, the proof goes by applying a cps transform to VPCF C. The target language is VPCF a, formed by enhancing the grammar of types with a new base type a. The type a has no additional term constructors for it, intuitively representing the abstractness of the answer type of continuations [13]. The abstractness of the answer type has not, to our knowledge, been exploited in quite the way the proof does here. The cps transform divides into a translation on types and on terms. For types, let int = int (s t) s t) s cont) s a) s = s a) a where s ....
A. R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Proceedings of the Conference on Logics of Programs, 1985, Lecture Notes in Computer Science 193, pages 219--224. Springer-Verlag, 1985.
....settings of continuations. The unsoundness of familiar reasoning principles indicates that a theory of continuations remains to be found. Chapter 4 discusses possible directions for such a theory. One method (currently being pursued) involves extending the retraction based method of Meyer and Wand [15]. One might also seek results tying the three settings of continuations together. Finally, an Appendix is included which contains proofs of standard theorems for v . Chapter 2 The Language and its Continuation Transform This chapter defines v , a call by value version of the language PCF ....
....0 = V 0 1 if either is a numeral. Proof: Delayed to the Appendix. Theorem 2.3 states that applicative contexts determine observational congruence (cf. 3] 2.3 Continuation Transform 2.3. 1 Definition The continuation transform for v is based on a cps transform appropriate for call by value [9, 15, 19]. The transform of a term M , written M , is another term of v . Figure 2.3 defines the transform of a term by structural induction on the term. The behavior of the interpreter for v provides clues to understanding the continuized version of a term. Basically, the flow of control is made ....
[Article contains additional citation context not shown here]
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Proceedings of the Conference on Logics of Programs, 1985, Lecture Notes in Computer Science 193, pages 219--224, Springer-Verlag, 1985.
.... translation (cps translation) has been introduced by Fischer [8] for the calculus and extended to the calculus with control operators C and A by Felleisen et al. in [7] By giving a typing a connection with implicational propositional logic has been established by Meyer and Wand [13] for the calculus and extended to the calculus with control operators C and A by Griffin [10] Griffin has shown that all evaluations with respect to call by value fi conversion and the standard conversion rules for C and A terminate. More precisely Griffin extends the Meyer Wand typing of ....
....: p; F g : F; A B) g : A g B g : Furthermore we define p : p, A B) B :A and p ffi : p, A B) ffi : A ffi :B ffi F. Then c A A g A A ffi and c A ( A g ( A ( A ffi . It has been observed by Meyer and Wand [13] that if M : A is a simply typed term, then Fischers cps translation M of M can be typed by M : A ffi . Griffin observed that this corresponds to a logical embedding. To see this note that c A ( A ffi , hence c A ( A ffi since A ffi is negative (if composed) and hence ....
[Article contains additional citation context not shown here]
A.R. Meyer and M. Wand. Continuation semantics in typed lambda-- calculi. In Proceedings Workshop Logic of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224. Springer Verlag, Berlin, Heidelberg, New York, 1985.
....observation that continuation passing can simulate monadic style [PW93] but actually showing that the translations are equivalent is surprisingly complicated. This was sketched in [Fil94] for a single e ect in an otherwise completely pure language; unfortunately the retractionbased approach [MW85] used there does not seem to generalize well to more general settings, such as unrestricted recursion. In [Fil96] the proof was redone with admissible relations in the style of [Rey74] and extended to a base language with arbitrary pre existing e ects; and that approach does generalize to the ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs { Proceedings, number 193 in Lecture Notes in Computer Science, pages 219-224, Brooklyn, June 1985.
....More precisely we prove the following theorem: Theorem 1. 2 (Retraction, for the CPS transform) For any simple type oe there is a lambda term R oe , such that for all closed lambda terms M of type oe, c (R oe M) M: 5 2 A version of the above Retraction Theorem was proven by Meyer and Wand [MW85], where the conclusion of the theorem holds in the logic of n . However, as the authors themselves have pointed out to us, their result is misleading. We are interested in behavior of a term M under a call by value evaluation, and n is not sound for call by value reasoning in presence of any ....
....CPS forms (e.g. SW96] we should emphasize that the inverse of the CPS transform we obtain is definable. Another important point is that the conclusion of our version of the Retraction Theorem is an equation provable in the logic of c , which is a call by value logic, unlike the results in [MW85] and [Fil94] which give similar equalities, but in a call by name logic. As a consequence, our results are applicable even where call by name reasoning is not sound. 5 20 Some open questions: In all practical applications, functional programming languages are equipped with some form of ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs: Proceedings, volume 193 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985. 5-22
...., Ev (Property 3) and the generic Simulation and Indifference theorem for C (Theorem 1) The transformations Kn and Kv constructed above are actually Plotkin s CPS transformations. Let Pn and Pv respectively denote the typed version of Plotkin s call by name and call by value CPS transformations [8, 15, 22]. Property 8 For Gamma e : Pnh[e]i j Knh[e]i Pv h[e]i j Kv h[e]i Proof: by structural induction over e. Thus, the construction and correctness (specifically, the Simulation and Indifference theorems, and type correctness) of the typed versions of Plotkin s CPS transformation follow ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985.
....type) depends on that of its argument. But the type of its argument depends on the type of the value of C. We have to pass as an argument to it a continuation which accepts a value which is determined in the future. We do know it represents the law of double negation elimination. Meyer and Wand [24] show that given any D.S. term e : A, we can C.P.S. transform it to [ e] A 0) 0) and C.P.S. type transform ffl : t = t (A B) A (B 0) 0 We should very much like to identify the types : A and A, since they are the types of the result of the same program. We ....
A. R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Logics of programs, pages 219--224. Springer-Verlag, 1985. Lecture Notes in Computer Science 193.
.... of independent interest, e.g. relating source programs to their intermediate representation in a CPS compiler, relating direct compilers to CPS compilers, relating classical proofs to constructive proofs, and relating denotations in direct semantics to denotations in continuation semantics [65, 78, 91, 98]. Some of the above problems have been thoroughly studied in the literature, but the precise role of the CPS transformation in the compilation process is still not completely understood. The reason for this gap in our knowledge may be due to the size, complexity, and informal nature of most ....
....numbers. The term language is the subset of to which we can assign simple types as follows: M : x t j (M s t N s ) t j (x s :M t ) s t The CPS transformation on simply typed terms can be factored into a CPS transformation on types and a CPS transformation on raw (untyped) terms [65]. If M is of type t, then F [ M ] is of type (t a) a where a is a distinguished type of answers: 5 o = o t s = s a) t a The set of CPS terms is the subset of the language cps ( for which we can assign simple types. 5 Assuming that the continuation is the first argument to a ....
Meyer, A. R. and Wand, M. Continuation semantics in typed lambda-calculi. In Proceedings Workshop Logics of Programs, Lecture Notes in Computer Science, 193 (1985) 219--224.
....simulation of the detour conversions. On the other hand it must be compatible with the permutation conversions in a sense that will be explained. In order to satisfy the rst requirement, the negative translation we use is a generalisation of the one used by Meyer and Wand in the implicative case [8], i.e. a generalisation of the translation induced by Plotkin s call by name CPS translation [10] De nition 7. Negative translation) The negative translation of any formula is de ned as: where = o for some distinguished atomic proposition o (that is not used ....
A. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary) . In R. Parikh, editor, Logics of Programs, pages 219-224. Lecture Notes in Computer Science, 193, Springer Verlag, 1985.
.... continuation style specifications can be represented as typed terms: semantic domains are represented with types, and valuation functions with terms [22, 28] typed terms can be transformed into continuation style automatically using Plotkin s continuation passing style (CPS) transformation [9, 15, 24]. We have transformed the representation of several direct style specifications into continuation style. Since the meta language of denotational semantics obeys normal order [28] we have used the call by name CPS transformation. The result is not the expected representation of a ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambdacalculi (summary). In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985.
....j v A calculus, we can re validate the following reductions: # (# M) Gamma (# M) A (# M) Gamma (A M) 4 Axiomatizing Observational Equivalence To address the question of semantic completeness, we restrict our attention to typed models. The CPS type structure in Figure 7 is the Meyer Wand [13] structure (after reversing the July 28, 1992 09 : 54 DRAFT 9 order of arguments to procedures) The set of answers includes only values of ground type . The source language is the simply typed calculus augmented with the control operators The full type frame: t : j (t t) The typed ....
Meyer, A.R. and M. Wand. Continuation semantics in typed lambda-calculi. Proc. Workshop Logics of Programs (1985), 219--224. Lecture Notes in Computer Science 193, Springer-Verlag, Heidelberg.
.... with [ M ] ffl v in [ MN ] ffl u (see [28] and [2] for the optimized version we presented here, further slightly improved by replacing hv = Delta Delta Deltai with hv ( Delta Delta Deltai in [ MN ] ffl u) Regarding types and sorts, we can use a remark of Meyer and Wand [15]. They noticed that there is a transformation on types that parallels the cps transform of call by value into call by name, which is: t ffl = t (oe ) ffl = oe ffl ( ffl o) o) We may also denote ( o) as : o (see [19] Then, given our Proposition 4.2, we can reformulate ....
A.R. Meyer, M. Wand, Continuation semantics in typed lambda-calculi, Lecture Notes in Comput. Sci. 193 (1985) 219-224.
....SN(fi oe) By Lemma 20.3, b is a well typed term. This contradicts the minimality of a. 2 6 CPS translation Continuation passing style (CPS) translation is a standard compilation technique. Its properties have been thoroughly studied in the context of pure and typed calculus, see for example [26, 22]. In this section, we extend these results to the Deltaexp calculus. To our knowledge, it is the first study of CPS translations for calculi of explicit substitutions. Definition 22 The CPS translation : takes as input a Deltaexp term and returns as output a exp term. It is defined as ....
A.R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
....Instead, the proof goes by applying a cps transform to VPCF C. The target language is VPCF a, formed by enhancing types with a new base type a: s : j a The type a has no additional term constructors for it, intuitively representing the abstractness of the answer type of continuations [14]. The abstractness of the answer type has not, to our knowledge, been exploited in quite the way the proof does here. The cps transform divides into a translation on types and on terms. For types, we define int = int (s t) s t) s cont) s a) s = s a) a where ....
A. R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Proceedings of the Conference on Logics of Programs, 1985, Lecture Notes in Computer Science 193, pages 219--224. Springer-Verlag, 1985.
.... In their study of the relationship between direct and continuation semantics for the simply typed calculus ( Meyer and Wand note that the type of a term in may be related in a simple and natural way to the type of its call by value continuation passing style (CPS) transform [13]. This result may be extended to the calculus that results from extending with Scheme like continuation passing primitives callcc and throw ( cont) 1, 4] Since under a call by value operational semantics is type safe in the sense of Milner [14, 2] and since the call by value ....
....CPS transform for the simply typed calculus establishes a simple and natural relationship between the type of a term and the type of its call by value CPS transform. Meyer and Wand exploited this relationship in their proof of the equivalence of the direct and continuation semantics of [13]. A minor extension of this result may be used to establish the soundness of typing for cont, the extension of with continuation passing primitives [4] under call byvalue. In this paper we have presented a systematic study of the extension of the Meyer Wand theorem to the ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--
....CPS translations were studied among others by Plotkin [76] who defined a CPS translation from typefree terms to type free terms, and by Felleisen et al. 29] who extended Plotkin s translation from type free C terms to type free terms. Generalizing an earlier observation by Meyer and Wand [61] that Plotkin s CPS translation maps simply typed terms to simply typed terms, Griffin [34] noted that Felleisen s extended translation maps simply typed C terms to Barthe, Hatcliff, S rensen simply typed terms. He further showed that this translation, when viewed as a translation on proofs, ....
A.R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
....The source language, L ae , is just the language L defined earlier. The target language, L ae , is the variant of L obtained by replacing the single recursive type ae by another recursive type ae obtained from ae by a transformation on types similar to that given by Meyer and Wand [16]. We let Type ae denote the set of type expressions of L ae , that is Type ae = Type. The set of target type expressions, denoted Type ae , is defined exactly as Type, but with ae for ae. Below we define two type translations from Type ae to Type ae , one for computations, ....
....have been given in the literature. Reynolds [25] gives a proof for an untyped language that relies on the construction of a system of relations over a domain model of the language. The construction is based directly on the inverse limit construction of the domain model itself. Meyer and Wand [16] give a proof for the simply typed calculus without recursive functions or recursive types. Their argument also relies on a relational interpretation of types over a model of the language. 8 Conclusion We have outlined a method for constructing relational interpretations of recursive types in ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
....structure of terms disallow such problematic cases, limited forms of j reduction can be applied soundly. 10 1. 5 Continuation based simulations This section presents Plotkin s continuation based simulations of call byname in call by value and vice versa [23] As characterized by Meyer and Wand [18], CPS terms are tail recursive: no argument is an application. Therefore there is at most one redex which is not inside the scope of an abstraction, and thus call by value evaluation coincides with outermost or call by name evaluation. 1.5.1 Call by name continuation passing style Figure 3 ....
....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 ....
[Article contains additional citation context not shown here]
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985.
....yields a value at all. To obtain such a result in this setting seems to require the use of an appropriate form of logical relation [26, 33] An alternative is to consider the typing properties of the call by value cps transform, from which an observational soundness theorem may be extracted; see [5, 18, 24]. 3.4 First Class Continuations To account for the continuation passing primitives introduced in Section 2, we extend the language of monotypes as follows: monotypes : j cont The signature Sigma cont is given by the following declarations: callcc : 8t: t cont t) t throw : 8s:8t:s ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 224 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
....to the rich structure of the semantic domain needed to interpret untyped programs. By exploiting the type structure of the language, the complexity of reflexive domains can be avoided (while still admitting extensions such as fix) The fundamental idea is to adapt the methods of Meyer and Wand [22], and make use of standard results of the typed calculus to obtain the desired result. The main idea is to define the meaning of a term M in our illustrative language as the meaning of its cps transform, M , defined as follows: x = x x:M = x:M) MN = M (m:N (n:mn) letccx inM = x:M) ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
....use our algorithm to nd the rest of the ow information quickly, rather than having to analyze the CPS transformed program. 1 Introduction For simply typed calculus, typability is preserved across CPS transformation. For a CPS transformation [ of call by value terms, Meyer and Wand [8] have shown that if A e : t, then A o) o, where o is a type of answers, where t is de ned inductively: s t) t o) o; Purdue University, Dept of Computer Science, W Lafayette, IN 47907, USA, palsberg cs.purdue.edu. College of Computer Science, ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi. In Proceedings of Logics of Programs, pages 219-224. Springer-Verlag (LNCS 193), 1985. 20
....points, and it could use our algorithm to find the the rest of the flow information quickly, rather than having to analyze the CPS transformed program. 1 Introduction For some type systems, typability is preserved across CPS transformation. For example, for simply typed calculus, Meyer and Wand [4] have shown that if A e : t, then A [ e] t o) o, where o is a type of answers, where t is defined inductively: ff = ff (s t) s (t o) o; Purdue University, Dept of Computer Science, W Lafayette, IN 47907, USA, palsberg cs.purdue.edu. y ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi. In Proceedings of Logics of Programs, pages 219--224. Springer-Verlag (LNCS 193), 1985.
....and it could use our algorithm to find the the rest of the flow information quickly, rather than having to analyze the CPS transformed program. 1. INTRODUCTION For some type systems, typability is preserved across CPS transformation. For example, for simply typed calculus, Meyer and Wand [4] have shown that if A e : t, then A [ e] t o) o, where o is a type of answers, Purdue University, Dept of Computer Science, W Lafayette, IN 47907, USA, palsberg cs.purdue.edu. y College of Computer Science, Northeastern University, 360 Huntington Avenue, 161CN, Boston, MA ....
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi. In Proceedings of Logics of Programs, pages 219--224. Springer-Verlag (LNCS 193), 1985.
.... Translations and Applications: the Cube and Beyond Gilles Barthe John Hatcliff y Morten Heine S rensen z Motivation Continuation passing style (CPS) translations of typed calculi have appeared throughout the literature since the work of Meyer and Wand [13]. Applications, too numerous to be listed exhaustively here, include compilation, transformation, and analysis of typed languages [1, 5, 9, 15, 16, 17, 19] embedding of classical logics in intuitionistic logics [11, 14] techniques to infer strong normalization from weak normalization in pure ....
A.R. Meyer and M. Wand. Continuation semantics in typed lambda-calculi (summary). In R. Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224. S.-V., 1985.
No context found.
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 224 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
No context found.
Meyer, Albert R., & Wand, Mitchell. 1985. Continuation Semantics in Typed Lambda Calculi (Summary). Pages 219--224 of: Parikh, Rohit (ed), Logics of Programs. Lecture Notes in Computer Science, vol.
No context found.
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambdacalculi (summary). In Rohit Parikh, editor, Logics of Programs -- Proceedings, number 193 in Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985.
No context found.
A. Meyer and M. Wand. Continuation Semantics in Typed Lambda Calculi (summary). In R. Parikh, editor, Logics of Programs, pages 219--224. Springer-Verlag LNCS 224, 1985.
No context found.
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda calculi (summary) . In Rohit Parikh, editor, Logics of Programs, volume 224 of Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
No context found.
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 219--224, Brooklyn, June 1985. Springer-Verlag. Cited on page 84.
No context found.
Albert R. Meyer and Mitchell Wand. Continuation semantics in typed lambda-calculi (summary). In Rohit Parikh, editor, Logics of Programs, number 193 in Lecture Notes in Computer Science, pages 219--224. Springer-Verlag, 1985.
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