99 citations found. Retrieving documents...
Gomard, C. and Jones, N. 1991. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming 1, 1 (January), 21--69.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Search-Based Binding Time Analysis using Type-Directed Pruning - Sheard, Linger (2002)   (4 citations)  (Correct)

....or run time) for all free variables in a typed expression, they show that their algorithm computes an unique expression with an optimal set of annotations that minimizes run time computation. The complexityoftheir algorithm is worst case exponential on the size of the expression. Gomard [9] presents an O(n ) algorithm for annotating an untyped lambda calculus term in a similar manner. His work is interesting because he uses a crude type system to perform BTA for an un typed language. The type system treats all second stage terms as having a single type code and all other terms ....

C. K. Gomard and N. D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21-69, 1991.


Search-Based Binding Time Analysis using Type-Directed Pruning - Sheard, Linger (2002)   (4 citations)  (Correct)

....or run time) for all free variables in a typed expression, they show that their algorithm computes an unique expression with an optimal set of annotations that minimizes run time computation. The complexity of their algorithm is worst case exponential on the size of the expression. Gomard [11] presents an O(n 3 ) algorithm for annotating an untyped lambda calculus term in a similar manner. His work is interesting because he uses a crude type system to perform BTA for an un typed language. The type system treats all second stage terms as having a single type code and all other terms ....

C. K. Gomard and N. D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21--69, 1991.


A Temporal-Logic Approach to Binding-Time Analysis - Davies (1995)   (75 citations)  (Correct)

....of the program that will not depend on the unknown (dynamic) data, regardless of the actual value of the known (static) data. Binding time analyzes are usually described via typed languages that include binding time annotations, as for example by Nielson and Nielson [10] and Gomard and Jones [6]. However, the motivation for the particular typing rules that are chosen is often not clear. There has been some work, for example by Palsberg [11] on modular proofs that binding time analyzes generate annotations that allow large classes of partial evaluators to specialize correctly. However ....

.... extension of the two level and (linearly ordered) B level languages studied by Nielson and Nielson [10] However, they note that this system only allows programs that manipulate closed code, while the binding time type systems used in partial evaluation, such as that of Gomard and Jones [6], allow manipulation of code with free variables. Thus, the original motivation for the present work was to consider how to extend Mini ML to a system that is a conservative extension of the bindingtime type systems used in partial evaluation. In this paper we achieve that goal, though find ....

[Article contains additional citation context not shown here]

Carsten Gomard and Neil Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21--69, January 1991.


Trust in the Lambda-Calculus - Palsberg, Ørbæk (1995)   (2 citations)  (Correct)

....information inherent in the values that exists at run time. Strictness analysis [3, 11] aims to find out whether functions in a higher order lazy language are strict or not. This may not be a decidable property but it is nevertheless a property of a value (function) In binding time analysis [8] one aims to approximate whether a value can be computed at compile time or not. At compile time this is a property of the values. Also, this is something that does not change from one compilation of the same program to the next. Another kind of analysis that looks related to trust analysis is ....

Carsten K. Gomard and Neil D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21--69, 1991.


Lambda-Dropping: Transforming Recursive Equations into.. - Danvy, Schultz (1999)   (8 citations)  (Correct)

....we nd it clearer to compare Figure 21 and Figure 23 rather than Figure 21 and Figure 22. The relative positions of the residual recursive functions now match the relative positions of the source while loops. N.B. A monovariant specializer would have directly produced the lambda dropped program [14, 20]. 44 (mulint (fetchint 1 s) fetchint 0 s) subint (fetchint 1 s 1) 1) s 1) subint (fetchint 2 s) 1) s) s) evwhile 1 (intupdate 2 1 (intupdate 1 4 (intupdate 0 1 s) 5.2 Programming environment It is our programming experience that lambda lifting and lambda dropping ....

....as low as possible. The problem only occurs for polyvariant specializers for higher order, blockstructured programs where source programs are not lambda lifted and program points are specialized with respect to higher order values. Most partial evaluators do not face that problem: Lambda Mix [20] and type directed partial evaluation [14] are monovariant; Schism [11] and Similix [9] lambda lift before binding time analysis; Pell Mell [29] lambda lifts after binding time analysis; ML Mix [7] does not specialize with respect to higher order values; and Fuse [36] does not allow upwards ....

Carsten K. Gomard and Neil D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21-69, 1991.


A Computational Formalization for Partial Evaluation - Hatcliff, Danvy (1996)   (23 citations)  (Correct)

....equivalence) For example, consider the following term (under call by value) occurring in a static context where e 1 is dynamic. pred ( x : p43q) e 1 ) Unfolding the inner call is unsound in general because e 1 may diverge. Yet a partial evaluator such as Lambda Mix would unfold it [29, 30]. 22 Through a systematic insertion of let expressions, partial evaluators such as Similix or Schism ensure sound call unfolding [7, 9] They would unfold the term above into the following term pred (let x = e 1 in 43) and would residualize the let expression to preserve the termination ....

....with the work of Flanagan et al. 25] on the essence of compiling with continuations. 34 7.2. 1 Styles of specification The earliest work on partial evaluation as a two phase process specified binding time analysis as an abstract interpretation [43] Since the work of Jones and Gomard [29, 30], binding time analysis is more often specified using type systems (we have followed this approach in the present work) Palsberg [54] and Wand [68] further clarify the role of such specifications in their work on the correctness of binding time analysis. Specializers have mostly been specified ....

Carsten K. Gomard and Neil D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21-- 69, 1991.


Eta-Expansion does the Trick - Danvy, Malmkjaer, Palsberg (1996)   (2 citations)  (Correct)

.... expression e of type 1 2 yields the case e of inleft(x 1 ) inleft(x 1 ) inright(x 2 ) inright(x 2 ) end: 2 An Extension of Mix handling Products and Disjoint Sums Our starting point is Gomard and Jones s partial evaluator Mix, an offline partial evaluator for the calculus [16, 17, 24]. We extend it to handle products and disjoint sums. Like Gomard and Jones s, our binding time analysis is monovariant in that it associates one binding time type for each source expression. Also like Gomard and Jones, only static terms are typed. Our partial evaluator provides a proper treatment ....

Carsten K. Gomard and Neil D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21-- 69, 1991.


Transforming Recursive Equations into Programs with Block.. - Danvy, Schultz (1997)   (Correct)

....merely by sinking blocks as low as possible. The problem only occurs for polyvariant specializers for higher order, block structured programs where source programs are not lambda lifted and program points are specialized with respect to higher order values. Of these, there are few: Lambda Mix [17] and type directed partial evaluation [13] are monovariant; Schism [10] and Similix [8] lambda lift before binding time analysis; Pell Mell [24] lambda lifts after binding time analysis; ML Mix [6] does not specialize with respect to higher order values; and Fuse [30] does not allow upwards ....

Carsten K. Gomard and Neil D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21-- 69, 1991.


Search-Based Binding Time Analysis using Type-Directed Pruning - Sheard, Linger (2002)   (4 citations)  (Correct)

....or run time) for all free variables in a typed expression, they show that their algorithm computes an unique expression with an optimal set of annotations that minimizes run time computation. The complexity of their algorithm is worst case exponential on the size of the expression. Gomard [9] presents an O(n 3 ) algorithm for annotating an untyped lambda calculus term in a similar manner. His work is interesting because he uses a crude type system to perform BTA for an un typed language. The type system treats all second stage terms as having a single type code and all other terms ....

C. K. Gomard and N. D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21-69, 1991.


On Jones-Optimal Specialization - For Strongly Typed   Self-citation (Jones)   (Correct)

No context found.

Gomard, C. K. and Jones, N. D.: A partial evaluator for the untyped lambdacalculus. Journal of Functional Programming 1 (1991) 21--69


Mix Ten Years Later - Jones (1995)   (5 citations)  Self-citation (Jones)   (Correct)

No context found.

C.K. Gomard and N.D. Jones, `A partial evaluator for the untyped lambda-calculus', Journal of Functional Programming, 1(1):21-69, January 1991.


Partial Evaluation for the Lambda Calculus - Jones, Gomard, Sestoft   Self-citation (Gomard Jones)   (Correct)

....solution to this class of problems we must also consider specialization with respect to higher order values, i.e. functions. We shall return to this in [12, Chapter 10] 5. 1 Optimality of Lambdamix Lambdamix has been tested on several interpreters derived from denotational language de nitions [5]. Such interpreters are compositional in the program argument, which means that recursive calls in the interpreter can be safely unfolded when the interpreter is specialized with respect to a concrete source program. Lambdamix often performs well on interpreters ful lling compositionality, and is ....

....of base function applications. Thus Lambdamix is nearly optimal as de ned in [12, Chapter 6] A small di erence: the call: e 1 e 2 ) is transformed into (apply e 1 e 2 ) etc. The problem can be fully eliminated by treating base functions as free variables, bound in the initial environment [5] or by a simple post processing like in [12, Chapter 10] 6 Binding time analysis by type inference An intuitively natural approach to binding time analysis for the lambda calculus uses a variant of the classical Algorithm W for polymorphic type inference [5, 16, 22] The guiding principle is ....

[Article contains additional citation context not shown here]

C.K. Gomard and N.D. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21-69, January 1991.


A Modal Analysis of Staged Computation - Rowan Davies And (1996)   (124 citations)  (Correct)

No context found.

Gomard, C. and Jones, N. 1991. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming 1, 1 (January), 21--69.


An Idealized MetaML: Simpler, and More Expressive - Moggi, Taha, Benaissa, Sheard (1999)   (2 citations)  (Correct)

No context found.

Carsten K. Gomard and Neil D. Jones. A partial evaluator for the untyped lambda calculus. Journal of Functional Programming, 1(1):21--69, January 1991.


ML-like Inference for Classifiers - Calcagno, Moggi, Taha (2004)   (5 citations)  (Correct)

No context found.

Carsten K. Gomard and Neil D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21-69, 1991.


Closed Types as a Simple Approach to Safe Imperative.. - Calcagno, Moggi, Taha (2000)   (4 citations)  (Correct)

No context found.

Carsten K. Gomard and Neil D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21--69, January 1991.


Implementing Multi-stage Languages Using ASTs, Gensym.. - Calcagno, Taha, Huang, ..   (Correct)

No context found.

Gomard, C. K., and Jones, N. D. A partial evaluator for untyped lambda calculus. Journal of Functional Programming 1, 1 (1991), 21--69.


An Automatic Program Generator for Multi-Level Specialization - Glück, Jørgensen (1997)   (2 citations)  (Correct)

No context found.

Gomard, C.K. and Jones, N.D. A partial evaluator for the untyped lambda calculus. Journal of Functional Programming, 1(1):21--69, 1991.


ML-like Inference for Classifiers - Calcagno, Moggi, Taha (2004)   (5 citations)  (Correct)

No context found.

Carsten K. Gomard and Neil D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21--69, 1991.


Implementing Multi-stage Languages Using ASTs, Gensym.. - Calcagno, Taha, Huang, ..   (Correct)

No context found.

Gomard, C. K., and Jones, N. D. A partial evaluator for untyped lambda calculus. Journal of Functional Programming 1, 1 (1991), 21--69.


On the Specialization of Online Program Specializers - Ruf, Weise (1992)   (7 citations)  (Correct)

No context found.

C. Gomard and N. Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21--69, January 1991.


A Modal Analysis of Staged Computation - Rowan Davies And (1999)   (124 citations)  (Correct)

No context found.

Carsten Gomard and Neil Jones. A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming, 1(1):21--69, January 1991.


Binding-Time Analysis for MetaML via Type Inference and.. - Linger, Sheard (2004)   (1 citation)  (Correct)

No context found.

Gomard, C., Jones, N.: A partial evaluator for the untyped lambda-calculus. Journal of Functional Programming 1 (1991) 21-69


Implementing Multi-stage Languages Using ASTs, Gensym.. - Calcagno, Taha, Huang, ..   (Correct)

No context found.

Gomard, C. K., and Jones, N. D. A partial evaluator for untyped lambda calculus. Journal of Functional Programming 1, 1 (1991), 21--69.


Semantic and Logical Properties of Stateful Programming - Calcagno (2002)   (2 citations)  (Correct)

No context found.

Carsten K. Gomard and Neil D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21--69, 1991.

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