37 citations found. Retrieving documents...
Olivier Danvy and John Hatcliff. A generic account of continuationpassing styles. In ACM Symposium on Principles of Programming Languages, pages 458--471, 1994.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

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

....of a complex relation between values and types (specified as a greatest fixpoint) we can use the existing type relation (specified by structural induction) The monad translation we use is standard. It was introduced by Moggi [Mog89, Mog91] and has been further studied by Hatcliff and Danvy [HD94] and Sabry and Wadler [SW97] Our reduction semantics for the monad is new. It most closely resembles the work of Hatcliff and Danvy, but they did not deal with state and therefore failed to distinguish between pure reductions and those with computational effects, as we do here. The results are ....

....Figure 2: The monad language, Monad represented by the new monad type. We use call by name for monads to stress the relation to Haskell. Like Plotkin s CPS translation, Moggi s monad translation is indifferent: it remains valid whether the monad language uses call by value or call by name [Plo75, HD94, SW97]. The language Monad and its type system is shown in Figure 2. The distinction between values and expressions is no longer relevant, since evaluation has no side effects. Expressions are extended with two new forms for manipulating monads (we will describe these shortly) Regions and effects are ....

[Article contains additional citation context not shown here]

J. Hatcliff and O. Danvy, A generic account of continuation-passing styles, ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994.


The Formal Relationship Between Direct and Continuation-Passing.. - Sabry (1994)   (9 citations)  (Correct)

....terms. 57 In subsequent work, Danvy and Lawall [19, 57] recognize that the CPS transformation can be staged in a number of independent steps. Their staging is similar to ours; their first two stages essentially perform an A normalization as explained in Section 3.1. Finally, Danvy and Hatcliff [48] extended our correspondence theorems to languages with other evaluation strategies, e.g. call by name. We have identified the call by value reductions that can prove any equation that fij reductions can prove on CPS terms. Our new reductions include a strongly normalizing subset, the ....

Hatcliff, J. and Danvy, O. A generic account of continuation-passing styles. In Languages (1994).


Monads and Effects (revised) - Benton, Hughes, Moggi (2000)   (1 citation)  (Correct)

.... of the original language (i.e. without let) Other authors addressed the problem of expressing strictness based transformations by varying a translation of the source language into continuation passing style [BM92,DH93] The two strands of work were then brought together by Danvy and Hatcliff [HD94] who showed how various CPS transforms could be factored through translations into the computational metalanguage and how the administrative reductions of CPS, and Flanagan et al. s A reductions, corresponded to applying the fi reduction and commuting conversions (see Section 11) associated with ....

....in compilation, and most compilers for functional languages perform at least some of them. MLj is somewhat dogmatic in performing all of them, to reach what we call cc normal form, from which it also turns out to be particularly straighforward to generate code. As Danvy and Hatcliff observe [HD94] this is closely related to working with A normal forms, though the logical proof theoretic notion is an older and more precisely defined pattern. Acknowledgements We have used Paul Taylor s package for diagrams. ....

J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In Proceedings of the 21st Annual Symposium on Principles of Programming Languages. ACM, January 1994.


Monads and Effects - Benton, Hughes, Moggi (2000)   (1 citation)  (Correct)

.... (i.e. without let) Other authors addressed the problem of expressing strictness based transformations by varying a translation of the source language into continuation passing style [BM92, DH93] The two strands of work were then brought together in a very nice paper by Danvy and Hatcliff [HD94] which showed how various CPS transforms could be factored through translations into the computational metalanguage and how the administrative reductions of CPS, and Flanagan et al. s A reductions, corresponded to applying the fi reduction and commuting conversions (see Section 11) associated ....

....in compilation, and most compilers for functional languages perform at least some of them. MLj is unusually dogmatic in performing all of them, to reach what we call cc normal form, from which it also turns out to be particularly straighforward to generate code. As Danvy and Hatcliff observe [HD94] this is closely related to working with A normal forms, though the logical proof theoretic notion is an older and more precisely defined pattern. 67 Acknowledgements We have used Paul Taylor s package for diagrams. ....

J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In Proceedings of the 21st Annual Symposium on Principles of Programming Languages. ACM, January 1994.


A Systematic Study of Functional Language Implementations - Douence, Fradet (1998)   (2 citations)  (Correct)

....programs [55] whereas our small framework has been tailor made to describe implementations. Besides benchmarks, few functional language implementations have been compared. Some particular compilation steps have been studied. For example, 28] compare different abstraction algorithms and [26] expresses CPS transformations in the monadic framework. A few works explore the relationship between two abstract machines such as CMC and Tim [37] and Tim and the G machine [43] Their goal is to show the equivalence between seemingly very different implementations. CMC and Tim are compared by ....

J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In Proc. of POPL'94, pp. 458-471, 1994.


A Taxonomy of Functional Language Implementations Part I.. - Douence, Fradet (1996)   (2 citations)  (Correct)

....CPS transformation [12] from Va f (section 3.1) On the other hand, our combinators are not fully defined ; they just have to respect a few properties. We see L s as a powerful and more abstract framework than CPS to express different reduction strategies. As pointed out by Hatcliff Danvy [15], Moggi s computational metalanguage [24] is also a more abstract alternative language to CPS. Arising from different roots, L s is surprisingly close to Moggi s. In particular, we may interpret the monadic constructs [E] as push s E and (let x E 1 in E 2 ) as E 1 o l s x.E 2 and get back the ....

J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In Proc. of POPL'94, pp. 458-471, 1994.


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

....of a complex relation between values and types (specified as a greatest fixpoint) we can use the existing type relation (specified by structural induction) The monad translation we use is standard. It was introduced by Moggi [Mog89, Mog91] and has been further studied by Hatcliff and Danvy [HD94] and Sabry and Wadler [SW97] Our reduction semantics for the monad is new. It most closely resembles the work of Hatcliff and Danvy, but they did not deal with state and therefore failed to distinguish between pure reductions and those with computational effects, as we do here. This paper is a ....

....represented by the new monad type. We use call by name for monads to stress the relation to Haskell. Like Plotkin s CPS translation, the image of Moggi s monad translation is indifferent: it delivers identical results regardless whether the monad language uses call byvalue or call by name [Plo75, HD94, SW97] The language Monad and its type system is shown in Figure 2. The distinction between values and expressions is no longer relevant for polymorphism, since evaluation has no side effects. However, there are monad values which serve as results of a computation in Monad. Expressions are ....

[Article contains additional citation context not shown here]

J. Hatcliff and O. Danvy, A generic account of continuation-passing styles, ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994.


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

....in denotational semantics, see Gordon [Gor79] Schmidt [Sch86] or Tennent [Ten91] For continuations as a programming technique, see [FWT92] For the use of CPS transform in compilers, see Appel [App92] where the language is ML, or [FWT92] where the language is Scheme. Hatclioe and Danvy [HD94] present a unifying account of various CPS transforms based on Moggi s computational metalanguage [Mog91] The encoding of N into V using thunks in Exercise 6.17, and its relationship to the CPS transform C N , are studied by Danvy and Hatclioe [DH92, HD97] The idea of using thunks for ....

J. Hatclioe and O. Danvy. A generic account of continuation-passing styles. In Proc. 21st POPL, pages 458471. ACM Press, 1994.


The Formal Relationship between Direct and Continuation-Passing.. - Sabry (1994)   (9 citations)  (Correct)

....terms. 57 In subsequent work, Danvy and Lawall [19, 57] recognize that the CPS transformation can be staged in a number of independent steps. Their staging is similar to ours; their first two stages essentially perform an A normalization as explained in Section 3.1. Finally, Danvy and Hatcliff [48] extended our correspondence theorems to languages with other evaluation strategies, e.g. call by name. 3.8 Summary We have identified the call by value reductions that can prove any equation that fij reductions can prove on CPS terms. Our new reductions include a strongly normalizing subset, ....

Hatcliff, J. and Danvy, O. A generic account of continuation-passing styles. In Conference Record of the 21th ACM Symposium on Principles of Programming Languages (1994).


Modular Denotational Semantics for Compiler Construction - Sheng Liang (1996)   (31 citations)  (Correct)

.... built efficient compilers for higher order languagesbytransforming the source language into continuation passing style (CPS) The suitability of a monadic form as an intermediate form has been observed by many researchers (including, for example, Sabry and Felleisen [22] and Hatcliff and Danvy [8]) We will continue to explore along this direction in order to generate machine level code from a monadic intermediate form. 7 Conclusions We have shown that the monadic framework provides good support for highlevel extensible specifications, program transformations, reasoning about ....

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In 21st ACM Symposium on Principles of Programming Languages (POPL '94), Portland, Oregon, pages 458--471, New York, January 1994. ACM Press.


Reflection in logic, functional and object-oriented.. - Demers, Malenfant   (Correct)

....uniform way, by simply changing the set of axioms Ax, and possibly extending the language with new constants . This tendency to use a logical approach based on categorical notions seems to be quite promising to study programming languages and particularly computational reflection . Some people [HD94] have already tried to reason in the new logical frame proposed by Moggi [Mog91] and they say about it the following lines that corroborates in a way with the idea that monads could be used to model computational reflection. Moggi s framework seems to provide a solid basis for studying both the ....

J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In Proc. of ACM POPL'94, pages 458--471, 1994.


Two for the Price of One: Composing Partial Evaluation and.. - Sperber, Thiemann (1997)   (10 citations)  (Correct)

....48 compiler. 8 Related Work 8.1 A Normal Form Compilation with ANF [20] captures the essence of continuation based compilation [2,31,34,57] We build upon that work to construct the simple ANF compiler. Using ANF (or monadic normal form) for compilation is also put forward by Hatcliff and Danvy [25] and by Sabry and Wadler [52] Danvy s work [11,12,14] uses type directed partial evaluation for semantics directed compilation. His system wraps let expressions around code that denotes computations in order to avoid code duplication. As a result, he also obtains programs in ANF. The ....

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In Proc. 21st Symposium on Principles of Programming Languages, pages 458-- 471, Portland, OG, January 1994. ACM Press.


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

....with dependent types. The last two subsections discuss the diOEculties involved with this extension and how we propose to solve them in this paper. 1.1. Intermediate languages for compiling CPS or languages with properties similar to CPS (such as A normal forms [25] or monadic normal forms [39] we refer to these as CPS based languages) are often used as intermediate languages when compiling and partial evaluating functional languages [1, 21, 38, 40, 43, 50, 60, 66] These applications take advantage of the fact that, in CPS, all intermediate values are named and that contexts are ....

....with dependent types Recall Plotkin s translation in Figure 1. The translation is dened by induction over the structure (or alternatively, the size) of terms. This method of denition scales up to richer languages that are either untyped [18, 58] or typed using a iCurry stylej type system [35, 39], i.e. a type system in which the terms are the untyped terms possibly extended with other forms such as conditionals, or control operators as in the language . However, as mentioned in the preceding two subsections, we are interested in extending CPS translations to pure type systems (in ....

[Article contains additional citation context not shown here]

J. Hatclioe and O. Danvy. A generic account of continuation-passing styles. In Hans Boehm, editor, Proceedings of the Twenty-rst Annual ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994. ACM Press.


Back to Direct Style - Danvy (1994)   (10 citations)  Self-citation (Danvy)   (Correct)

....this intermediatestyle term back to the DS term above. The mapping between CPS terms and intermediate terms is a bijection [14] The intermediate terms coincide with Moggi s monadic language, B in Figure 8 corresponds to the identity monad, and F in Figure 9 corresponds to the continuation monad [11, 13, 18]. Finally, coercing a CPS term into another one that satisfies the occurrence conditions over the parameters of continuations, i.e. j expansion, corresponds to using a strict binding construct in the DS calculus. 3 Proper tail recursion Sometimes it is important to process tail calls properly, ....

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In Boehm [2], pages 458--471.


On the Transformation between Direct and Continuation Semantics - Danvy, Hatcliff (1993)   (1 citation)  Self-citation (Hatcliff Danvy)   (Correct)

.... n and v respectively denote the relations defined by a call by name 8 The annotation scheme can also be phrased more elegantly in terms of Moggi s computational metalanguage [17] serious terms are typed as computations, trivial terms are typed as values. This point is developed elsewhere [10, 11]. 12 Identifiers: Gamma [ fi : g a i : serious) Gamma [ fiv : g a i v : trivial ) Primitive Operators: Gamma a op 0 : trivial ) Gamma a e1 : ff ) Gamma a op 1 e1 : ff ) Gamma a e1 : ff 1 ) Gamma a e2 : ff 2 ) Gamma a op 2 e1 e2 : ....

....one could define a core meta language and parameterize it with the style of the interpretation. This approach is reminiscent of Mosses and Watt s Action Semantics [19, 35] of the Nielsons s two level meta language [23] and of Moggi s computational calculus [17] We investigate it elsewhere [11]. 8.6 Transforming the representation of a continuation semantics into direct style The transformation from continuation style to direct style has been investigated recently [4, 6, 12, 27] and enables one to transform the representation of a continuation semantics into direct style. Of course, ....

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In Hans-J. Boehm, editor, Proceedings of the Twenty-First Annual ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994. ACM Press. To appear.


Monadic Type Systems: Pure Type Systems for Impure Settings - Barthe, Hatcliff, Thiemann (1998)   (1 citation)  Self-citation (Hatcliff)   (Correct)

....computational effects. The computational metalanguage has been used successfully in a number of applications including compiling transformations, intermediate languages for partial evaluation, denotational foundations for languages with I O, and structuring functional programs with effects (e.g. [14, 16, 21, 27, 28, 32, 40, 50]) The benefits of the metalanguage are as follows. Increased modularity: Compilation, partial evaluation, and semantics can be specified in terms of the metalanguage: all computational aspects of the source language are captured in the metalanguage; no extra information is necessary. ....

....guarantees the soundness of compile time reductions in the presence of computational effects. Genericity: The metalanguage is general enough to encode the structure of a variety of source languages by choosing a suitable translation. The resulting translated programs are in monadic normal form [28] a generalization of A normal forms [16] where each intermediate result is named. This form is particularly suited to compiling. However, most applications deal with untyped or simply typed versions of the metalanguage and do not support parametricity of the type structure. Pure type ....

[Article contains additional citation context not shown here]

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In Proc. 21st Annual ACM Symposium on Principles of Programming Languages, pages 458-- 471, Portland, OG, January 1994. ACM Press.


Type-Directed Partial Evaluation - Danvy (1996)   (92 citations)  Self-citation (Danvy)   (Correct)

....to the interpreted term [36, Section 7. 4] Continuation passing style: For a continuation style interpreter, the type is the CPS counterpart of the type of the interpreted term and the residual term is the CPS counterpart of the interpreted term for each possible continuation passing style [28]. Figure 7 illustrates the point for left to right call by value. Other passing styles: The same technique applies for storepassing, etc. interpreters, be they direct or continuationpassing, and in particular for interpreters that simulate lazy evaluation with thunks. Monadic style: We ....

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In Boehm [5], pages 458-- 471.


Thunks and the Lambda-Calculus - Hatcliff, Danvy (1997)   (3 citations)  Self-citation (Hatcliff Danvy)   (Correct)

....recursive functions [15] In a preliminary version of Section 3.2 [9] we presented the factorization of C n via C v and T , for the untyped calculus with n ary functions ( a la Scheme [6] This work is part of a broader investigation of the structure of continuation passing styles. Elsewhere [15, 16] we have shown how structural relationships between many different continuation passing styles can be exploited to simplify transformations, correctness proofs, and reasoning about CPS programs. This investigation aims to clarify intuition and to aid in understanding the often complicated ....

John Hatcliff and Olivier Danvy. A generic account of continuationpassing styles. In Hans Boehm, editor, Proceedings of the Twenty-first Annual ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994. ACM Press.


A Computational Formalization for Partial Evaluation.. - Hatcliff, Danvy (1997)   (23 citations)  Self-citation (Hatcliff Danvy)   (Correct)

....the meta language with a fixpoint operator and inductive and coinductive types [31] ml is basically a sublanguage of Gordon s except that we include directly type nat and associated operations whereas Gordon constructs them via inductive types. Here, we follow Gordon and our previous work [34, 36] and present a structural operational semantics for ml . succ pnq 7 Gamma i unit pn 1q (x : e 0 ) e 1 7 Gamma i e 0 [x : e 1 ] fix x: e 7 Gamma i e[x : fix x: e] let x ( unit e 1 in e 2 7 Gamma i e 2 [x : e 1 ] pred pn 1q 7 Gamma i unit pnq pred p0q 7 Gamma i unit p0q if0 p0q ....

....e 1 in let x 2 ( e 2 in e 3 x 1 62 FV(e 3 ) Figure 3: Notions of reduction ml for ml 2.4 Encoding evaluation strategies in ml A variety of evaluation strategies for a PCF like language can be encoded in ml due to ml s explicit distinction between values and computations. In previous work [34, 36], we proved the correctness of an encoding E n of a call by name version of into ml , and an encoding E v of a call by value version of into ml . These encodings can be found in Appendix A.2. 6 In summary, call by name functions are encoded as functions from computations to computations; ....

[Article contains additional citation context not shown here]

John Hatcliff and Olivier Danvy. A generic account of continuationpassing styles. In Boehm [5], pages 458--471.


Foundations for Partial Evaluation of Functional Languages with.. - Hatcliff   Self-citation (Hatcliff)   (Correct)

....In addition, the metalanguage makes the sequence of operations with computational effects explicit. The ability to explicitly order computations enables many different evaluation orders (e.g. call by value, call by name, strictness analyzed call by name, etc. to be encoded into the metalanguage [8]. Thus, using the metalanguage as an intermediate language provides an evaluation order independent framework for partial evaluation of programs with computational effects. Department of Computer Science, 219 Math Sciences, Oklahoma State University, Stillwater, OK 74074, USA. ....

.... the Computational Metalanguage to Specialization The computational metalanguage has been used successfully in a number of applications including compiling transformations, denotational foundations for languages with I O, and structuring functional programs with computational effects (see e.g. [7, 8, 14, 17]) We now review work that uses the metalanguage as an intermediate language for partial evaluation. Hatcliff and Danvy [9] present a detailed formalization of partial evaluation using the computational metalanguage as an intermediate language. The correctness of binding time analysis and ....

[Article contains additional citation context not shown here]

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In Hans Boehm, editor, Proceedings of the Twenty-first Annual ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994. ACM Press.


Thunks and the Lambda-Calculus - Hatcliff, Danvy (1995)   (3 citations)  Self-citation (Hatcliff Danvy)   (Correct)

....functions [15] In a preliminary version of Section 3.2 [9] we presented the factorization of C n via C v and T , for the untyped calculus with n ary functions ( a la Scheme [6] This work is part of a broader investigation of the structure of continuation passing styles. Elsewhere [15, 16] we have shown how structural relationships between many different continuation passing styles can be exploited to simplify transformations, correctness proofs, and reasoning about CPS programs. This investigation aims to clarify intuition and to aid in understanding the often complicated ....

John Hatcliff and Olivier Danvy. A generic account of continuation-passing styles. In Hans Boehm, editor, Proceedings of the Twenty-first Annual ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994. ACM Press.


CPS Translations and Applications: The Cube and Beyond - Barthe, Hatcliff, Sørensen (1998)   (5 citations)  Self-citation (Hatcliff)   (Correct)

....with dependent types. The last two subsections discuss the difficulties involved with this extension and how we propose to solve them in this paper. 1. 1 Intermediate languages for compiling CPS or languages with properties similar to CPS (such as A normal forms [25] or monadic normal forms [39] we refer to these as CPS based languages) are often used as intermediate languages when compiling and partial evaluating functional languages [1, 21, 38, 40, 43, 50, 60, 66] These applications take advantage of the fact that, in CPS, all intermediate values are named and that contexts are ....

....with dependent types Recall Plotkin s translation in Figure 1. The translation is defined by induction over the structure (or alternatively, the size) of terms. This method of definition scales up to richer languages that are either untyped [18, 58] or typed using a Curry style type system [35, 39], i.e. a type system in which the terms are the untyped terms possibly extended with other forms such as conditionals, or control operators as in the language . However, as mentioned in the preceding two subsections, we are interested in extending CPS translations to pure type systems (in ....

[Article contains additional citation context not shown here]

J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In Hans Boehm, editor, Proceedings of the Twenty-first Annual ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994. ACM Press.


Categorical Structure of Continuation Passing Style - Thielecke (1997)   (18 citations)  (Correct)

No context found.

Olivier Danvy and John Hatcliff. A generic account of continuationpassing styles. In ACM Symposium on Principles of Programming Languages, pages 458--471, 1994.


A Reflection on Call-by-Value - Sabry, Wadler (1996)   (18 citations)  (Correct)

No context found.

Hatcliff, J., and Danvy, O. A generic account of continuation-passing styles. In Proceedings of the 21th ACM Symposium on Principles of Programming Languages (1994), pp. 458--471.


A Reflection on Call-by-Value - Sabry, Wadler (1996)   (18 citations)  (Correct)

No context found.

Hatcliff, J., and Danvy, O. A generic account of continuation-passing styles. In Proceedings of the 21th ACM Symposium on Principles of Programming Languages (1994), pp. 458--471.

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