15 citations found. Retrieving documents...
M.S. Feather, "A System for Assisting Program Transformation," ACM Trans. Programming Languages and Systems, vol. 4, no. 1, pp. 120, Jan. 1982.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Strengthening Invariants for Efficient Computation - Liu, Stoller, Teitelbaum (2001)   (Correct)

....of f 0 , as opposed to carrying out two disjoint computations. The integrated computation is usually more ecient; so is its incremental version. We do not describe the integration in detail. Basically, it uses traditional transformation techniques [14] like those used in tupling tactic [24,66,15]. We require only that 0 ( f 0 (x) always project out 1st( f 0 (x) which is the value of f 0 (x) and that the values of all other components of f 0 (x) and f 0 (x; r) are embedded in the value of f 0 (x) This allows re arranging the components in the return value. For ....

M. S. Feather. A system for assisting program transformation. ACM Trans. Program. Lang. Syst., 4(1):1-20, Jan. 1982.


Automatic Derivation of Logic Programs by Transformation - Pettorossi, Proietti (2000)   (Correct)

....of the given program into a semantically equivalent one which can be more e ciently evaluated by a non improved, standard evaluator. In the imperative and functional cases, various transformation methods have been proposed, such as nite di erencing [112] composition or deforestation [66, 150], and tupling [116] See also [67, 113, 118] for surveys. For logic programs two main methods have been considered: loop fusion [52] and elimination of unnecessary variables [125] The aim of loop fusion is to transform a program which computes a predicate de ned by the composition of two ....

....and the pro76 duction of interactive tools for implementing program transformers. Moreover, some optimizing compilers already developed, make use of various transformation techniques. The description of some systems which have been already implemented and are under development can be found in [2, 3, 20, 31, 33, 66, 67, 98, 114, 139, 153]. We consider that it is particularly important to construct systems which support the design and execution of transformation rules and strategies as we now indicate. i) User de ned rules and strategies. The transformation systems should allow the user to introduce and apply di erent sets of ....

M. S. Feather. A system for assisting program transformation. ACM Toplas, 4(1):120, 1982.


Rules and Strategies for Transforming Functional and Logic.. - Pettorossi, Proietti (1996)   (51 citations)  (Correct)

....proving. Our references to the literature are not exhaustive, and they only indicate some relevant papers where the reader may also find material for further study. We will see the strategies in action in various examples below. i) Composition Strategy [Burstall Darlington 77, Darlington 81, Feather 82, Paige Koenig 82, Bauer et al. 87, Partsch 90] If the subexpression f(g(x) occurs in an expression e which is the r.h.s. of a recursive equation in a given program, we introduce, by the definition rule, a new function h defined as follows: h(x) f(g(x) 8 we find recursive equations ....

....performance w.r.t. those obtained by lazy evaluation [Wadler 85] if the intermediate data structures are infinite and the next item of the output of f can be produced by knowing only a finite portion of the output of g. ii) Tupling Strategy [Burstall Darlington 77, Pettorossi 77, Darlington 81, Feather 82, Paige Koenig 82, Bauer et al. 87, Partsch 90] Given a recursive equation of the form f(x 1 ; x n ) C[f 1 (e 1 ) f r (e r ) where the expressions e 1 ; e r all share the free variable x, by using the definition rule we introduce the function: h(x; y 1 ; ....

[Article contains additional citation context not shown here]

Feather, M. S.: A System for Assisting Program Transformation. ACM Toplas 4 (1) (1982) 1--20 77


Unfold/Fold Transformations and Loop Optimization of Logic Programs - Debray (1988)   (1 citation)  (Correct)

....be carried out. There is a great deal of literature on loop optimization for traditional languages, see [1] Unfold fold transformations were introduced by Burstall and Darlington for functional languages [6] and have been applied to the improvement of recursive programs in functional languages [6, 11]. Cohen considers the application of source to source transformations to the improvement of recursive programs [ Cohen Improvement Recursive ] Arsac and Kodratoff have studied the application of these techniques to recursion removal from functions [2] The application of unfold fold ....

M. S. Feather, A System for Assisting Program Transformation, ACM Trans. Prog. Lang. and Systems 4, 1 (Jan. 1982), 1-20.


Inverse Engineering a simple Real Time program - Younger, Ward (1999)   (1 citation)  (Correct)

....approach on moderately large programs (1300 lines, 42 functions, converted into 3000 lines of FORTRAN) Boyle stresses that approaching these tasks by means of program transformation encourages organising it in a modular fashion, with many consequent bene ts. Feather s ZAP system and language [20] is based on the fold unfold work of Burstall and Darlington on transforming applicative programs expressed in recursion equations. The ZAP system s language is a language for expressing transformations and developments. The KIDS system (Kestrel Interactive Development System) 39] is based on ....

M. S. Feather, A System for Assisting Program Transformation, Trans. Programming Lang. and Syst. 4 (Jan. 1982), 120.


Transformation of Logic Programs - Pettorossi, Proietti (1998)   (13 citations)  (Correct)

....equivalent one which can be more efficiently evaluated by a non improved, standard evaluator. In the imperative and functional cases, various transformation methods have been proposed, such as, for instance: finite differencing [ Paige and Koenig, 1982 ] composition or deforestation [ Feather, 1982; Wadler, 1990 ] and tupling [ Pettorossi, 1977 ] See also [ Feather, 1987; Partsch, 1990; Pettorossi and Proietti, 1996 ] for surveys. For logic programs two main methods have been considered: loop fusion [ Debray, 1988 ] and unnecessary variable elimination [ Proietti and Pettorossi, 1995 ....

M. S. Feather. A system for assisting program transformation. ACM Toplas, 4(1):1--20, 1982.


Top-down Synthesis of Recursive Logic Procedures from.. - Department (1990)   (11 citations)  (Correct)

....whererepresents list concatenation. 5 The recursive calls in these procedures can be specified by the following folding problems: i) fold subset(h:t; to fsubset(t; s)g ; ii) fold subset(ab; e) to fsubset(a; s 1 ) subset(b; s 2 )g : 4 Our approach here is similar to that taken by Feather [7] for pattern directed foldunfold transformations used for developing programs in recursion equations. 5 Note the use of , and that in standard list notation, h:t = h]t, where h is a single element and t is a list. Note that the output variables s; s 1 ; s 2 are just arbitrary names. The ....

M.S. Feather, A System for Assisting Program Transformation, ACM TOPLAS 4(1), 1982, 1-20.


A Survey of Formal Software Development Methods - Sannella (1988)   (5 citations)  (Correct)

....critical rewriting is done. The eureka step in the above example is step 4 where the new function g is defined which proves crucial in transforming f in step 7. Darlington and Burstall built a system which automatically transformed small programs by applying these transformation rules. Feather [Fea 82] built a system which allowed the user to supply a pattern indicating the overall form of the desired result. This allowed his system to handle much larger examples because of the resulting reduction in the search space. Strictly speaking, the rules in [BD 77] do not preserve equivalence of ....

Feather, M. A system for assisting program transformation. ACM Trans. on Prog. Languages and Systems 4, 1-20 (1982).


A Positive Supercompiler - Sørensen, Glück, Jones (1993)   (3 citations)  (Correct)

....Komorowski, 1992) In this paper we present a positive supercompiler comprising a driving and a folding component. The driving component can be viewed as a reformulation of a certain fragment of driving as defined in Turchin s supercompiler. For the second 1 Earlier work by Turchin et al. 1982) Feather (1982), Bird (1984) Wadler (1984) and others, also addressed elimination of intermediate data structures. A Positive Supercompiler 3 component we fold only calls that are identical up to renaming, the same strategy as in deforestation. 2 The formulation of our two components is inspired by ....

Feather, M.S. 1982. A system for assisting program transformation. In ACM Transactions on Programming Languages and Systems, 4(1):1--20.


A New Means of Ensuring Termination of Deforestation - Sĝrensen (1993)   (Correct)

....[Tur82] on the supercompiler, a program transformation technique which does both partial evaluation 2 and deforestation. We note here that the emphasis is on fully automatic methods. General fold unfold transformations similar to deforestation have been known for a long time [Bur77] Dar81] [Fea82]; these need, however, information from the user. If the technique is to be applied in an optimizing compiler it is necessary that the method be fully automatic. And to apply the technique in an optimizing compiler is the highest of our hopes; this way the programmer can write elegant code, and ....

Martin S. Feather. A System for Assisting Program Transformation. In ACM Transaction on Programming Languages and Systems. 4(1), 1982.


Synthesis of a Family of Recursive Sorting Procedures - Lau, Prestwich (1991)   (5 citations)  (Correct)

....as a meta goal in the form of an incomplete implication: 6 sort(a 1 a 2 ; b) Delta Delta Delta sort(a 1 ; c) Delta Delta Delta sort(a 2 ; d) 1) 4 We shall use and to denote the truth values true and false respectively; and is the list concatenation operator. 5 Feather [5] used a similar idea for pattern directed unfold fold transformational development of recursion equation programs. 6 In [12] we call such a goal a folding problem, e.g. for goal (1) the corresponding folding problem would be fold(sort(a1a2 ; b) z; fsort(a1 ; c) sort(a2 ; d)g) where z is a ....

M.S. Feather. A system for assisting program transformation. ACM TOPLAS, 4(1):1--20, January 1982.


CACHET: An interactive, incremental-attribution-based program.. - Liu   (Correct)

....the integration of program derivation and validation with interactive editing, compiling, debugging, and execution. 1 Introduction Program transformation systems are important tools that implement various program manipulations that preserve program semantics and improve program performance [3, 11, 12, 15, 24, 26, 28, 31]. Interactive program transformation. Program transformation systems are often required to be interactive, for at least the following two reasons. First, the goal of the system is often so ambitious that no fully automatic transformation can succeed; interaction allows convenient semi automatic ....

....for phases not involving circular attributes, efficient evaluators for non circular attribute grammars can be generated. 2. 4 Replay A minimal approach to replaying transformations is to record the history or script of external input [28] Powerful metalanguages can help reduce the recording work [11]; for example, with a metalanguage that allows rewrite, we can record one rewrite in place of a sequence of transformations involved in the rewrite. Replay is important not only for helping to understand the whole transformation, but also for incremental transformation under changes to the input ....

[Article contains additional citation context not shown here]

M. S. Feather. A system for assisting program transformation. ACM Trans. on Programming Languages and Systems, 4(1):1--20, Jan. 1982.


Compilation by Transformation in Non-Strict Functional Languages - Santos (1995)   (12 citations)  (Correct)

....and Darlington [DB76, BD77] But these (usually semi automatic) systems are quite dependent on programmer assistance and often need an eureka step, that is dependent on the specific program that one is trying to transform. Although many tools for using these techniques have been developed (e.g. Fea82, Fir90] they are intended to be assisted by the programmer, and therefore cannot be regarded as automatic program transformation tools. 8.2. Automatic program transformations 165 As we are only concerned with automatic program transformations in this thesis, we will not discuss these ....

M. S. Feather. A system for assisting program transformation. ACM TOPLAS, 4(1):1--20, January 1982.


Binding-time Improvement and Fold/Unfold Transformation - Runciman   (Correct)

....Darlington built the first such system[3] it used simple heuristics to control a search for directly recursive re formulations of eureka definitions supplied by a user who also approved or suppressed possible lines of development as they were encountered in the search. Feather s ZAP [4] interpreted fuller specifications of transformational plans series of goals (function definitions conforming to given patterns) and alternative tactical combinations by which they might be reached. But few systems have been used routinely as interactive tools alongside an interpreter for ....

MS Feather. A system for assisting program transformation. ACM TOPLAS, 4(1):1--20, 1982.


Mark Harman, Lin Hu, Rob Hierons, Joachim Wegener, Harmen.. - Andre Baresel And   (Correct)

No context found.

M.S. Feather, "A System for Assisting Program Transformation," ACM Trans. Programming Languages and Systems, vol. 4, no. 1, pp. 120, Jan. 1982.

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