| H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376. |
....for avoiding it or putting it out that is the point of view of this paper. On the other hand, fire is useful for cooking and heating, so we also learn how to use it safely. The mathematical techniques discussed in this paper are closely related to those that have been used by Hayo Thielecke [Thi97a, Thi97b], Carsten Fuhrmann [Fuh99] and Peter Selinger [Sel01] to study computational e#ects. More practically, Guy Steele [Ste78] and Andrew Appel [App92] showed how an ordinary functional program f : U X (without jumps, etc. may be compiled very e#ciently by regarding it as a ....
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
....of the Kleisli category, which consists of just the free algebras. So the literature that has ensued illustrates the demarcation between mathematics and computer science. In particular, the basic form of our construction without the subspaces (Section A 6) is similar to work of Hayo Thielecke [Thi97] which uses the the Kleisli category. In none of these constructions is a type defined as a collection , as Solomon Feferman claimed to be a necessary ingredient of mathematical foundations [Fef77] and nor is a subtype a sub collection selected by some kind of demon. Both the underlying ....
....# Z is also an equaliser in HC, i.e. with respect to second class test maps Z (Notation 2. 11) This is in contrast to the situation for products, where the failure of the extension of the universal property from to HC is essentially related to the interpretation of computational e#ects [Thi97] The fact that equalisers are valid even in the presence of such e#ects may be regarded as the categorical justification of the use of Floyd Hoare logic for imperative as well as functional programs. It is still not clear precisely what the exactness properties of # should be, as not all ....
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
.... A ( is similar to an exponential functor for the functor ( A. Hence, we write B A for A B in control categories, and use in co control categories the notation whose correspondence to control categories is described in Table 1. Every co control category is, in fact, a category [27]. categories have only the structures A B and :A, but BA and A ( B are expressed by :A B and : A :B) and conversely, A is denoted by A ( 0 in co control categories. Thus, it has been justi ed to consider co control categories as the models of callby value calculi. While Thielecke have ....
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97376.
.... resultats d adequations completes et incompletes pour l encodage de Boreale [10] de la mobilite externe (la communication de noms libres) a partir de la mobilite interne (la communication de noms prives) vii) nous prouverons que la semantique axiomatique de Thielecke du calcul de continuations [84] est operationnellement adequate. Au Chapitre 5, nous utiliserons l encodage de la substitution de noms presentee au Chapitre 4 pour prouver l adequation complete d un encodage du calcul polyadique Local dans le calcul monadique Local. Nous proposerons egalement un encodage du calcul Fusion ....
.... prove some non full abstraction and full abstraction results for Boreale s encoding [10] of external mobility (communication of free names) in terms of internal mobility (communication of private names) vii) we prove that Thielecke s axiomatic semantics of the Continuation Passing Style calculus [84] is operationally sound. In Chapter 5, we use the encoding of name substitution presented in Chapter 4 to prove the full abstraction of an encoding of polyadic Local into monadic Local . We also propose an encoding from polyadic Fusion calculus into its monadic variant, based on the same idea. ....
[Article contains additional citation context not shown here]
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
.... account for Filinski s cbv xpoint operator derived from an iterator (in nite loop constructor) and rst class continuations, provided that we re ne Filinski s notion of uniformity, for which the distinction between values and e ect insensitive programs (characterised by the notion of centrality) [22, 28, 10] is essential. Using our axioms, we establish the bijectivity result between xpoint operators and iterators. Therefore here is an interesting coincidence of a category theoretic axiomatics (of Simpson and Plotkin) with a program construction (of Filinski) However, we also show that, after ....
.... One can check that these combinators satisfy Hofmann s axioms in [13] Also, we can use C ( k : M [k( for :M (as will be done in the programming example in SML NJ in Section 4) Centre and focus In the presence of rst class continuations, central and focal terms coincide [28, 25], and enjoy a simple characterisation (thunkability [28] LEMMA 1. In a cbv theory, the following conditions on a term M : are equivalent. 1. M is central. 2. M is focal. 3. thunkability) let x be M in u :x = u :M : holds. 2 We also note that central terms and ....
[Article contains additional citation context not shown here]
Thielecke, H. (1997) Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, ECS-LFCS-97-376.
.... for Filinski s cbv fixpoint operator derived from an iterator (infinite loop constructor) and first class continuations, provided that we refine Filinski s notion of uniformity, for which the distinction between values and e#ect insensitive programs (characterised by the notion of centrality) [21, 27, 10] is essential. Using our axioms, we establish the bijectivity result between fixpoint operators and iterators. Therefore here is an interesting coincidence of a category theoretic axiomatics (of Simpson and Plotkin) with a program construction (of Filinski) However, we also show that, after ....
....One can check that these combinators satisfy Hofmann s axioms in [13] Also, we can use C # (#k # .M [k( #] for # # . M (as will be done in the programming example in SML NJ in Section 4) Centre and focus In the presence of first class continuations, central and focal terms coincide [27, 24], and enjoy a simple characterisation (thunkability [27] LEMMA 1. In a cbv # theory, the following conditions on a term M : # are equivalent. 1. M is central. 2. M is focal. 3. thunkability) let x # be M in #u # .x = #u # .M : # # # holds. 2 We also note that central terms and values ....
[Article contains additional citation context not shown here]
Thielecke, H. (1997) Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, ECS-LFCS-97-376.
.... the second one, in that the axioms precisely account for Filinski s cbv fixpoint operator derived from an iterator (infinite loop constructor) and first class continuations, provided that we refine Filinski s notion of uniformity, for which the distinction between values and e#ect free programs [19, 7] is essential. So here is an interesting coincidence of a category theoretic axiomatics (of Simpson and Plotkin) with a program construction (of Filinski) However, we also show that, after sorting out the underlying categorical semantics, Filinski s construction combined with the ....
....replacing any subterm of the form [#]N by C(N) and any subterm of the form [# 1 , # 2 ]N (with # = # 1 or # = # 2 ) by C(#. # 1 , # 2 ]N ) See [17] for further details on these syntactic conventions. Centre and focus In the presence of first class controls, central and focal terms coincide [19, 17], and enjoy a simple characterisation (thunkability [19] Lemma 1. In a cbv # theory, the following conditions on a term M : # are equivalent. 1. M is central. 2. M is focal. 3. thunkability) let x # be M in #k # .k x = #k # .k M : # holds. We also note that central terms and values agree ....
[Article contains additional citation context not shown here]
Thielecke, H. (1997) Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, ECS-LFCS-97-376.
....1.2. What is CPS calculus Continuation Passing Style (CPS) transforms are widely used in the semantics of functional programming languages with control operators. Recently, Thielecke claims that the target language of CPS transform can be considered as a very basic calculus (his Ph.D. thesis[21]) He refer to this calculus as the CPS calculus. We use the word CPS calculus in this sense. There are two kind of CPS calculus, namely call by name(CBN) and call by value(CBV) CBV CPS calculus (CBN CPS calculus, respectively) is the target language of CBV CPS transform (CBN CPStransform, ....
H. Thielecke, "Categorical Structure of Continuation Passing Style," Ph. D. thesis, University of Edinburgh, 1997.
.... one, in that the axioms precisely account for Filinski s cbv fixpoint operator derived from an iterator (infinite loop constructor) and first class continuations, provided that we refine Filinski s notion of uniformity, for which the distinction between values and effect free programs is essential [16, 6]. So here is an amusing coincidence of a category theoretic axiomatics (of Simpson and Plotkin) with a program construction (of Filinski) However, we also show that, after sorting out the underlying categorical semantics, Filinski s construction combined with the Continuation Passing Style (CPS) ....
....and the cbv calculus in a syntactic form (Section 2) However, these concepts originally arose from the analysis on the category theoretic models given as above. Following the discovery of the premonoidal structure on the Kleisli category part C T (R C ) of these models [12] Thielecke [16] proposed a direct axiomatization of R C not depending on the base category C (which may be seen a chosen category of values ) but on the subcategory of effect free morphisms of R C , which is the focus (equivalently centre) of R C . Fuhrmann [6] carries out further study on models of ....
Thielecke, H. (1997) Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh; available as technical report ECS-LFCS-97-376.
....structure theorem relates this abstract approach to Hofmann and Streicher s more concrete semantics by showing that any control category is equivalent to a category of continuations. In the call by value case, our model is almost identical to Thielecke s interpretation in a Omega Gamma category (Thielecke 1997). Indeed, a co control category is a Omega Gamma category with additional structure. Thielecke s semantics does not include disjunction types, maybe because they are not cen Control Categories and Duality 3 tral to the computational phenomena and real life programming languages that he is ....
....would state the naturality of r A . Instead, we will call a central morphism f : A B discardable if i A Xi Xi Omega Omega Omega Omega Omega Omega i B aeae 4 4 4 4 4 4 A f B; and copyable if A #A f#f r A fflffl B #B r B fflffl A f B: This terminology is taken from (Thielecke 1997). Strictly speaking, we should use the terms co discardable and co copyable, but this would be cumbersome. Discardability and copyability, like centrality, are notions of well behavedness . Definition 1.5. A morphism is called focal if it is central, discardable, and copyable. Remark 1.6. The ....
[Article contains additional citation context not shown here]
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997.
....used by Boreale [7] to compare the expressiveness of asynchronous 1 In Milner s original theorems name a may not be exported. mobility and internal mobility (where only private names may be passed) v) We prove that Thielecke s axiomatic semantics of the Continuation Passing Style calculus [39] is operationally sound. Calculi similar to L are discussed in [18, 7, 3, 41] Some of the techniques we use in Section 4 are inspired by techniques in [38] Characterisations of barbed congruence on calculi for mobile processes include [4, 8, 3] However, in these bisimilarity, matching ....
....P 2 L; hence [ P ] L bc [ Q] Because LI ae L, this implies [ P ] LI bc [ Q] The implication from right to left follows by Lemma 1 and by compositionality of [ 6.6. Operational soundness of CPS axioms Thielecke studies the target calculi of Continuation Passing Style transforms [39]. For this, he introduces a CPS calculus, similar to the intermediate language of Appel s compiler [5] The CPS calculus is very simple and low level: only variables may be passed as arguments, moreover application is like a jump, with variables as argument. Thielecke gives an axiomatic semantics ....
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, Department of Computer Science, University of Edinburgh, 1997.
....What is CPS calculus : Continuation Passing Style (CPS) transforms are widely used in the semantics of functional programming languages with control operators. Recently, Thielecke claims that the target language of CPS transform can be considered as a very basic calculus (his Ph.D. thesis[7]) He refer to this calculus as the CPS calculus. We use the word CPS calculus in this sense. CBN CPS calculus is the target language of CBN CPS transform. Our Work: We have already shown that LKT can be considered as a Plotkin style call by name (CBN) CPS calculus[5] In this paper, we further ....
....decoration; these two possible intuitionistic decorations give rise to Plotkin style and HS style CPS transform. Moreover Milner s encoding of CBN calculus into calculus [4] is also shown to be a CPS calculus; it is deeply related to HS style CPS calculus. Similar observations appear in[7] and [6] What is new to our work is the presentation of the relation; we show all of these calculus simulates the identical tq protocol. LKT can be considered as a common abstract syntax. This work directly realize the Griffin s idea of relating CPS calculus and classical logic[2] This work also ....
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
....be sent. This is the same idea that we used for representing functions as calculus processes in the paper. The analogy between Milner s encodings of calculus into calculus and the CPS transforms was noticed by several people, and was rst partly formalised by Boudol [Bou97] and Thielecke [Thi97] Boudol compares encodings of call byname and call by value calculus into, respectively, the blue calculus and the calculus. He noticed that, for either strategy, if the CPS transform is composed with the encoding of (call by name) calculus into the blue calculus, then the results can be ....
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
....into the t term. As we mentioned before, n can be considered as a classical extension to CBN calculus. Also, we already revealed that LKT is the target language of the CBN CPS transform [11, 12] That is, LKT is CBN CPS calculus which is a very basic calculus of computer science interest[19, 17]. Therefore, this transform can be considered as the classical extension to Plotkin s CBN CPS transform[16] Note that Plotkin s result is on the untyped case. However, we restrict ourself to well typed case. This is because our investigation is purely proof theoretical. As far as denotational ....
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
....(see [11] and again [4] This similarity was formalized by the author in [3] where it is shown that both Ostheimer and Davie s encoding, and Milner s encoding of the call by value calculus are the standard cps transforms (see [13] written in another syntax. Thielecke designed a cps calculus [15], which is a sub calculus of both the calculus (or more precisely a restricted calculus) and the calculus, and he showed that cps transforms factorize through his calculus. Therefore one may ask: in which way is the discriminating ability factorized in this decomposition of the encodings Is ....
....as follows: x]k = xk [xN ]k = kxh: N ]h [MN ]k = h[M ]h) m:m(j[N ]j)k) We have: Lemma 2.3. M ]k 2 Pi and ( M ] k) fi [M ]k. Proof: by induction on M , using the previous remark The terms of Pi may be regarded as terms of the calculus (and also as terms of Thielecke s cps calculus [15]) More precisely, we can give a translation that interprets the P s as processes, and the V s as names (or more precisely iconcretionsj) or abstractions. The syntax we use for the calculus is the one of [9] except that we write messages as xv 1 Delta Delta Delta v n instead of x: v ....
H. Thielecke, Categorical Structure of Continuation Passing Style, PhD Thesis, Edinburgh University (1997).
No context found.
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. 37
....J operator [11] 1 In some cases, exceptions and continuations can be used more or less interchangeably. For example, textbooks (such as Felleisen and Friedman s Seasoned Schemer [5] usually introduce continuations with simple idioms that could equally well be programmed with exceptions (see [24] for a discussion) This should not be taken to mean that exceptions and continuations are the same: in more advanced examples the di#erence between them manifest themselves. There are some subtle pitfalls in understanding exceptions and continuations, which can lead one to confuse them. In fact, ....
.... exceptions in terms of continuations and references (see [16] hence there can be no equivalence broken by the former but not the latter, although the folklore implementation fails to be a macro encoding [10] The present paper is part of a broader study of control operators using category theory [24], classical logic [27] and linear typing [2] it largely supersedes the earlier papers based on equivalences [17, 25, 26] We have strengthened the results from [17] generalising to an untyped setting, removing a restriction to closed expressions, and making the proofs more uniform by using ....
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376. 34
....: is called self adjoint on the right if : op is self adjoint on the left. Self adjoint structure corresponds to the idea that for each type , there is a continuation type : that can accept an input of type . The third, which we introduce here, is also being developed by Hayo Thielecke [20]. It is based on a category with added structure, and one again adds a self adjoint construction. The rst of these models is less general than the other two, which are essentially equivalent. While the rst approach to modelling continuations relies on continuations being explicitly given by a ....
Hayo Thielecke, Categorical structure of continuation passing style, Edinburgh Ph.D. thesis (submitted).
....in (k x q) by analogy with throw k (x,q) above. In the minimal Scheme that we use in this paper, one would have to put the arguments into a list, which is then the single argument to the continuation, i.e. k (list x q) See Figure 4 on page 12) As explained in the present author s PhD thesis [34], this is an instance of a more general translation from cps back to the source language, generalising what Sabry calls Continuation Grabbing Style [26] We could also give a more rigorous derivation of twice cc from twice [34, 35, 33] Written as the cps term kx(y:kyh) twice cc seems to be the ....
.... Figure 4 on page 12) As explained in the present author s PhD thesis [34] this is an instance of a more general translation from cps back to the source language, generalising what Sabry calls Continuation Grabbing Style [26] We could also give a more rigorous derivation of twice cc from twice [34, 35, 33]. Written as the cps term kx(y:kyh) twice cc seems to be the simplest way of using the current continuation twice. Furthermore, it does so without mixing 12 (define twice cc (lambda (p) call cc (lambda (k) lambda (y) k (cons y (cdr p) call cc (lambda (q) k (cons (car p) q) ....
[Article contains additional citation context not shown here]
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
....version, we now turn to the calculus. The version of the CPS transform we give here is based on Plotkin s (call by value) transform [10] except that we use as the target language a small calculus idealizing the intermediate language from Appel s account of the Standard ML of New Jersey compiler [1, 16]. A CPS term M consists of a jump kx 1 : x n to k with arguments x 1 : x n , together with some bindings of the form where fx 1 : x n = M 0 . The grammar is given by the single rule, M : xx (where xx = M) To sketch the intended meaning, suffice it to say here that a jump ....
....as closure conversion [1] or register allocation. Despite these connections to compiling, the breaking down of functions into jumps does not force us to adopt a low level, or overly machine dependent viewpoint; it can in fact be expressed at quite an abstract level, such as types, or categories [16]. Specifically, let us consider a type system for the CPS language. We need only one constructor, so that types can be given by the grammar : At the type level, the breaking down of functions is given by the transform [ 1 2 ] 1 ] 2 ] The closest ....
[Article contains additional citation context not shown here]
Hayo Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
No context found.
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97-376.
No context found.
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997. Also available as technical report ECS-LFCS-97376.
No context found.
H. Thielecke. Categorical Structure of Continuation Passing Style. PhD thesis, University of Edinburgh, 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC