Results 11  20
of
21
Shifting Expression Procedures into Reverse
 IN PARTIAL EVALUATION AND SEMANTICBASED PROGRAM MANIPULATION
, 1999
"... The best known approach to program transformation is the unfold/fold methodology of Burstall and Darlington: a simple, intuitive, and expressive approach which serves as the basis of many automatic program transformation algorithms (such as partial evaluation and deforestation). Unfortunately unfold ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
The best known approach to program transformation is the unfold/fold methodology of Burstall and Darlington: a simple, intuitive, and expressive approach which serves as the basis of many automatic program transformation algorithms (such as partial evaluation and deforestation). Unfortunately unfold/fold does not preserve total correctness and requires maintaining a transformation history of the program. Scherlis invented a similar approach, expression procedures, which solved these two problems: expression procedures preserve total correctness and require no transformation history. Motivated
Automatic Partitioning and Scheduling on a Network of Personal Computers
, 1984
"... should not be interpreted as representing the official policies, either expressed or implied, of ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
should not be interpreted as representing the official policies, either expressed or implied, of
Work It, Wrap It, Fix It, Fold It
, 2012
"... The worker/wrapper transformation is a generalpurpose technique for refactoring recursive programs to improve their performance, without compromising their correctness. The two previous approaches to formalising the technique were based upon different recursion operators, and different correctness ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
The worker/wrapper transformation is a generalpurpose technique for refactoring recursive programs to improve their performance, without compromising their correctness. The two previous approaches to formalising the technique were based upon different recursion operators, and different correctness conditions. In this article we show how these two approaches can be generalised in a uniform manner by combining and extending their correctness conditions, and explore the benefits that result.
Deriving Efficient Graph Algorithms
 Carnegie Mellon University, Pittsburgh
, 1984
"... Two case studies are presented that demonstrate the systematic derivation of e#cient algorithms from simple combinatorial definitions. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Two case studies are presented that demonstrate the systematic derivation of e#cient algorithms from simple combinatorial definitions.
unknown title
"... The design of efficient algorithms is a complex and creative task, requiring sophisticated knowledge both of generalpurpose algorithm design techniques and of specialpurpose mathematical facts related to the problems being solved. While the process of algorithm discovery is certain to be exceedin ..."
Abstract
 Add to MetaCart
(Show Context)
The design of efficient algorithms is a complex and creative task, requiring sophisticated knowledge both of generalpurpose algorithm design techniques and of specialpurpose mathematical facts related to the problems being solved. While the process of algorithm discovery is certain to be exceedingly difficult to mech
Properties of Unfoldingbased Metalevel Systems
, 1991
"... It is well known that the performance of a program can often be improved by means of program transformation. Several program transformation techniques, eg. partial evaluation, work as follows: it is recognized that the original program often, when executed, enters states with common components. From ..."
Abstract
 Add to MetaCart
It is well known that the performance of a program can often be improved by means of program transformation. Several program transformation techniques, eg. partial evaluation, work as follows: it is recognized that the original program often, when executed, enters states with common components. From these components alone it may be possible to do a lot of computations once and for all, which otherwise would have to be done again and again.
Tutorial notes on partial . . .
, 1992
"... The last years have witnessed a flurry of new results in the area of partial evaluation. These tutorial notes survey the field and present a critical assessment of the state of the art. ..."
Abstract
 Add to MetaCart
The last years have witnessed a flurry of new results in the area of partial evaluation. These tutorial notes survey the field and present a critical assessment of the state of the art.
1Work It, Wrap It, Fix It, Fold It
"... The worker/wrapper transformation is a generalpurpose technique for refactoring recursive programs to improve their performance. The two previous approaches to formalising the technique were based upon different recursion operators and different correctness conditions. In this article we show how ..."
Abstract
 Add to MetaCart
(Show Context)
The worker/wrapper transformation is a generalpurpose technique for refactoring recursive programs to improve their performance. The two previous approaches to formalising the technique were based upon different recursion operators and different correctness conditions. In this article we show how these two approaches can be generalised in a uniform manner by combining their correctness conditions, extend the theory with new conditions that are both necessary and sufficient to ensure the correctness of the worker/wrapper technique, and explore the benefits that result. All the proofs have been mechanically verified using the Agda system. 1
unknown title
"... A notation is given for describing the inverse of multiple functions and of functions of multiple arguments. A technique based upon this notation is presented for taking a program written in pure LISP and automatically deriving a program which computes the inverse function of the given program. This ..."
Abstract
 Add to MetaCart
A notation is given for describing the inverse of multiple functions and of functions of multiple arguments. A technique based upon this notation is presented for taking a program written in pure LISP and automatically deriving a program which computes the inverse function of the given program. This technique differs from previous such methods in its use of heuristics to invert conditionals. 1.
Abstract Shifting Expression Procedures into Reverse
"... The best known approach to program transformation is the unfold/fold methodology of Burstall and Darlington: asimple, intuitive, and expressive approach which serves as the basis of many automatic program transformation algorithms (such as partial evaluation and deforestation). Unfortunately unfold/ ..."
Abstract
 Add to MetaCart
The best known approach to program transformation is the unfold/fold methodology of Burstall and Darlington: asimple, intuitive, and expressive approach which serves as the basis of many automatic program transformation algorithms (such as partial evaluation and deforestation). Unfortunately unfold/fold does not preserve totalcorrectness and requires maintaining a transformation history of the program. Scherlis invented a similar approach, expression procedures, which solved these two problems: expression procedures preserve total correctness and require no transformation history. Motivated by our desire to make expression procedures more expressive by eliminating their onedirectional nature (they are designed to specialize but not to generalize functions), we have developed an equational speci cation of expression procedures, in which the essence of expression procedures is expressed in a single transformation rule. Our approach has the following advantages over expression procedures: (1) all program derivations are reversible � (2) transformations can be done which expression procedures cannot do � (3) fewer and simpler rules are used � and (4) the proof of correctness is simpler.