A Transformation System Combining Partial Evaluation with Term Rewriting
@inproceedings{Bellegarde1993ATS, title={A Transformation System Combining Partial Evaluation with Term Rewriting}, author={Françoise Bellegarde}, booktitle={HOA}, year={1993} }
This paper presents a new approach to optimizing functional programs based on combining partial evaluation and rewriting. Programs are composed of higher-order primitives. Partial evaluation is used to eliminate higher-order functions. First-order rewriting is used to process the transformation. Laws about the higher-order primitives that are relevant for optimizations are automatically extracted from a library and transformed into first-order terms using partial evaluation. Such a combination…
8 Citations
Automatic Transformations by RewritingTechniques ?
- Computer Science
- 1994
The paper shows how term rewriting techniques can be used to automatically transform rst-order functional programs by both deforestation and tupling, and preserves termination of the original set of rules, which is not guaranteed in general by a unfold/fold method.
Automating Synthesis by Completion
- Computer Science
- 1994
This paper shows how to apply static analyses of the rewrite system in order to fully automatize program transformation by the two strategies: deforestation and tupling, which enable us to transform a larger class of programs than the current deforestation algorithms.
ASTRE: Towards a Fully Automated Program Transformation System
- Computer ScienceRTA
- 1995
Astre has achieved its initial goal: it is fully automatic for deforestation and two-loops fusion of functional programs and plans to automatize derecursion tactical and automatic insertion of laws in a near future.
Higher Order Deforestation
- Computer ScienceFundam. Informaticae
- 2006
It is shown how the original deforestation algorithm can be extended to deal with higher order functional programs and shown that the higher order deforestation algorithm will terminate if all function definitions are in higher order treeless form.
Calculating Software Generators from Solution Specifications
- Computer ScienceTAPSOFT
- 1995
An automated transformation system is demonstrated that compiles practical software modules from the semantic specification of a domain-specific application design language and demonstrates the feasibility of this approach.
Termination Issues in Automated Syntheses
- Computer Science
- 1994
A set of transition rules for a full automation of a sound and terminating synthesis process which preserves orthogonality and termination of a constructor-based rewrite system is presented.
Generic Program Transformation
- Computer ScienceAdvanced Functional Programming
- 1998
A program that is easy to understand often fails to be efficient, while a more efficient solution often compromises clarity.
Contribution aux relations entre les grammaires attribuées et la programmation fonctionnelle. (Contribution to the relation between attribute grammars and functional programming)
- Philosophy, Computer Science
- 1998
Cette technique generale peut etre appliquee sur des grammaires attribuees ou sur des programmes fonctionnels et permet de deforester des programmes pour lesquelles les methodes existantes restaient impuissantes.
References
SHOWING 1-10 OF 41 REFERENCES
Program Transformation and Rewriting
- Computer ScienceRTA
- 1991
A basis for program transformation using term rewriting tools is presented, which must provide tools to prove inductive properties; to verify that enrichment produces neither junk nor confusion; and to check for ground confluence and termination.
A tour of Schism: a partial evaluation system for higher-order applicative languages
- Computer SciencePEPM '93
- 1993
A simple module facility allowing the user to write a program in different files, and to create and use function libraries, makes it possible to split the preprocessing phase into two parts to factorize computations.
Transformational derivation of programs using the focus system
- Computer ScienceSDE 3
- 1988
A program derivation support system called Focus is being constructed, which will formally derive programs using the paradigm of program transformation and brings about a synthesis of paradigms that were heretofore considered far apart, such as logical and executable specifications and constructive and transformational approaches toprogram derivation.
A system which automatically improves programs
- BusinessActa Informatica
- 1976
Methods of mechanically converting programs that are easy to understand into more efficient ones, converting recursion equations using high level operations into lower level flowchart programs are given.
A Transformation System for Developing Recursive Programs
- Computer ScienceJ. ACM
- 1977
A system of rules for transforming programs is described, with the programs in the form of recursion equations. An initially very simple, lucid, and hopefully correct program is transformed into a…
Mixed Computation: Potential Applications and Problems for Study
- Computer ScienceTheor. Comput. Sci.
- 1982
Higher-Order Unification Revisited: Complete Sets of Transformations
- Computer ScienceJ. Symb. Comput.
- 1989
Functional programming: executable specifications and program transformations
- Computer ScienceIWSSD '89
- 1989
This paper shows how one can give a direct implementation of a constructive specification (an execuiable specification) and then show how program transformation can be used to turn this specification into an efficient version of the program, using techniques from a standard library of transformations.
Why Functional Programming Matters
- Computer ScienceComput. J.
- 1989
This paper shows that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute significantly to modularity.