## Program Transformations for Configuring Components (1991)

Venue: | In ACM/IFIP Symposium on Partial Evaluation and Semantics-based Program Manipulation |

Citations: | 6 - 5 self |

### BibTeX

@INPROCEEDINGS{Mason91programtransformations,

author = {Ian A. Mason and Carolyn L. Talcott},

title = {Program Transformations for Configuring Components},

booktitle = {In ACM/IFIP Symposium on Partial Evaluation and Semantics-based Program Manipulation},

year = {1991},

pages = {297--308},

publisher = {ACM}

}

### Years of Citing Articles

### OpenURL

### Abstract

In this paper we report progress in the development of methods for reasoning about the equivalence of objects with memory, and the use of these methods to describe sound operations on objects in terms of formal program transformations. We also formalize three different aspects of objects: their specification, their behavior, and their canonical representation. Formal connections among these aspects provide methods for optimization and reasoning about systems of objects. To illustrate these ideas we give a formal derivation of an optimized specialized window editor from generic specifications of its components. A new result in this paper enables one to make use of symbolic evaluation (with respect to a set of constraints) to establish the equivalence of objects. This form of evaluation is not only mechanizable, it is also generalizes the conditions under which partial evaluation usually takes place. 1 Overview In [19] a general challenge for partial evaluation technology was presented ...

### Citations

454 | Computational lambda-calculus and monads
- Moggi
- 1989
(Show Context)
Citation Context ...guished by any program context. Operational equivalence enjoys many nice properties such as being a congruence relation on expressions. It subsumes the lambda-v-calculus [17] and the lambdac calculus =-=[16]-=-. The theory of operational equivalence for the language used in this paper is presented in [13]. Constrained equivalence is a relation between sets of constraints (on memory states) and pairs of expr... |

251 | Polymorphic effect systems
- Lucassen, Gifford
- 1988
(Show Context)
Citation Context ...nipulation and configuration. In the process we have unearthed a number of new challenges. In particular, it is clear that methods of static analysis, effect analysis and abstract interpretation (cf. =-=[1, 3, 7, 8, 18]-=-) can be used to great benefit in establishing conditions for the applicability of many transformation rules. We plan to investigate these matters and hope others will find the application of these me... |

208 | Control flow analysis in Scheme
- Shivers
- 1988
(Show Context)
Citation Context ...nipulation and configuration. In the process we have unearthed a number of new challenges. In particular, it is clear that methods of static analysis, effect analysis and abstract interpretation (cf. =-=[1, 3, 7, 8, 18]-=-) can be used to great benefit in establishing conditions for the applicability of many transformation rules. We plan to investigate these matters and hope others will find the application of these me... |

117 |
Mix: A self-applicable partial evaluator for experiments in compiler generation
- Jones, Sestoft, et al.
- 1989
(Show Context)
Citation Context ...ith respect to a set of constraints, as formalized by our inference system [14] is not only mechanizable, it is also generalizes the conditions under which partial evaluation usually takes place (cf. =-=[3, 5, 6]-=-). In this sense it is related the notion of generalized partial computation proposed by Futamura and Nogi [4]. Constraints generalize the usual known--unknown dichotomy of partial evaluation and can ... |

113 | Equivalence in functional languages with effects
- Mason, Talcott
- 1991
(Show Context)
Citation Context ...t , set to represent the constructor, access, and update operations on unary cells. An operational semantics based on memory structures and a purely syntactic operational semantics for E are given in =-=[11, 13]-=-. We give a very brief outline of the syntactic semantics here, as it provides a natural basis for reasoning about program equivalence. Details may be found in [11, 13]. Computation is a process of st... |

92 |
Automatic autoprojection of higher order recursive equations
- Bondorf
- 1990
(Show Context)
Citation Context ...ith respect to a set of constraints, as formalized by our inference system [14] is not only mechanizable, it is also generalizes the conditions under which partial evaluation usually takes place (cf. =-=[3, 5, 6]-=-). In this sense it is related the notion of generalized partial computation proposed by Futamura and Nogi [4]. Constraints generalize the usual known--unknown dichotomy of partial evaluation and can ... |

58 |
Types and effects, towards an integration of functional and imperative programming
- Lucassen
- 1987
(Show Context)
Citation Context ...nipulation and configuration. In the process we have unearthed a number of new challenges. In particular, it is clear that methods of static analysis, effect analysis and abstract interpretation (cf. =-=[1, 3, 7, 8, 18]-=-) can be used to great benefit in establishing conditions for the applicability of many transformation rules. We plan to investigate these matters and hope others will find the application of these me... |

50 |
Essence of generalized partial computation
- Futamura, Nogi, et al.
- 1991
(Show Context)
Citation Context ... generalizes the conditions under which partial evaluation usually takes place (cf. [3, 5, 6]). In this sense it is related the notion of generalized partial computation proposed by Futamura and Nogi =-=[4]-=-. Constraints generalize the usual known--unknown dichotomy of partial evaluation and can be implemented by symbolic values as in [20]. While we have by no means fully met the challenge presented in [... |

42 | Partial evaluation applied to numerical computation - Berlin - 1990 |

28 | Programming, transforming, and proving with function abstractions and memories
- Mason, Talcott
- 1989
(Show Context)
Citation Context ...t , set to represent the constructor, access, and update operations on unary cells. An operational semantics based on memory structures and a purely syntactic operational semantics for E are given in =-=[11, 13]-=-. We give a very brief outline of the syntactic semantics here, as it provides a natural basis for reasoning about program equivalence. Details may be found in [11, 13]. Computation is a process of st... |

23 |
The Semantics of Destructive Lisp
- Mason
- 1986
(Show Context)
Citation Context ...ce is a stronger relation than operational equivalence and hence is often easier to establish. A version of constrained equivalence for the first-order subset of our language was studied in detail in =-=[9]-=-. An inference system which is complete for zero-order terms (first-order expressions not involving recursively defined functions) is given in [10, 12, 14]. Constrained equivalence restricted to the e... |

19 | Axiomatizing operational equivalence in the presence of side effects
- Mason, Talcott
- 1989
(Show Context)
Citation Context ...order subset of our language was studied in detail in [9]. An inference system which is complete for zero-order terms (first-order expressions not involving recursively defined functions) is given in =-=[10, 12, 14]-=-. Constrained equivalence restricted to the empty set of constraints implies operational equivalence and is the same as operational equivalence in the first-order case. Constrained equivalence natural... |

14 | Graphs as an intermediate representation for partial evaluation
- Weise
- 1990
(Show Context)
Citation Context ...n of generalized partial computation proposed by Futamura and Nogi [4]. Constraints generalize the usual known--unknown dichotomy of partial evaluation and can be implemented by symbolic values as in =-=[20]-=-. While we have by no means fully met the challenge presented in [19], we have laid the groundwork for application of partial evaluation to the problem of component manipulation and configuration. In ... |

12 | A selfapplicable partial evaluator for the lambda calculus
- Jones, Gomard, et al.
- 1990
(Show Context)
Citation Context ...ith respect to a set of constraints, as formalized by our inference system [14] is not only mechanizable, it is also generalizes the conditions under which partial evaluation usually takes place (cf. =-=[3, 5, 6]-=-). In this sense it is related the notion of generalized partial computation proposed by Futamura and Nogi [4]. Constraints generalize the usual known--unknown dichotomy of partial evaluation and can ... |

9 | A sound and complete axiomatization of operational equivalence between programs with memory
- Mason, Talcott
- 1989
(Show Context)
Citation Context ...order subset of our language was studied in detail in [9]. An inference system which is complete for zero-order terms (first-order expressions not involving recursively defined functions) is given in =-=[10, 12, 14]-=-. Constrained equivalence restricted to the empty set of constraints implies operational equivalence and is the same as operational equivalence in the first-order case. Constrained equivalence natural... |

6 |
Call-by-name, call-by-value and the lambda-v-calculus
- Plotkin
- 1975
(Show Context)
Citation Context ...alent if they cannot be distinguished by any program context. Operational equivalence enjoys many nice properties such as being a congruence relation on expressions. It subsumes the lambda-v-calculus =-=[17]-=- and the lambdac calculus [16]. The theory of operational equivalence for the language used in this paper is presented in [13]. Constrained equivalence is a relation between sets of constraints (on me... |

2 |
Program transformation via constraint propagation
- Mason, Talcott
- 1991
(Show Context)
Citation Context ...Phi]] Notice that this rule is a variant of the invalid (CI) principle. In particular the necessary side condition to validate (CI) is that \Sigma ` C[[\Sigma]]. The full set of rules may be found in =-=[15]-=-. The rule concerning lexical binding is: \Sigma ` e ' seq(e; u) \Sigma ` seq(e; C[[\Sigma 0 ]]fx := ug) \Sigma ` letfx := egC[[\Sigma 0 [ fx = ug]] where x 62 FV(\Sigma [ \Sigma 0 ), and x; u 62 Trap... |

2 |
Partial evaluation, higher--order abstractions, and reflection principles as system building tools
- Talcott, Weyhrauch
- 1987
(Show Context)
Citation Context ...nts) to establish the equivalence of objects. This form of evaluation is not only mechanizable, it is also generalizes the conditions under which partial evaluation usually takes place. 1 Overview In =-=[19]-=- a general challenge for partial evaluation technology was presented and illustrated by an example using the concept of component configuration. Component description and configuration are forms of pr... |

1 |
Abstract Interpretation of Applicative Languages
- Abramsky, Hankin
- 1987
(Show Context)
Citation Context ...turn the coordinates of the point; and L, R, U, D --- move cursor left, right, up, down (sticking at the boundaries). For convenience we define the following operations mvL(p) / if(p xs0; p; p \Gamma =-=[1; 0]-=-) mvR(p; d) / if(p x \Gamma 1sd x ; p; p + [1; 0]) We present the three alternate descriptions of cursors as a concrete illustration of these concepts. In later examples we will only present the most ... |

1 |
Inferring the equivalence of (first-order) functional programs that mutate data. Theoretical Computer Science, to appear
- Mason, Talcott
(Show Context)
Citation Context ...ects are necessary in order to extend partial evaluation techniques to such languages. Symbolic evaluation of an expression with respect to a set of constraints, as formalized by our inference system =-=[14]-=- is not only mechanizable, it is also generalizes the conditions under which partial evaluation usually takes place (cf. [3, 5, 6]). In this sense it is related the notion of generalized partial compu... |