Results 1 
4 of
4
The Many Disguises of Accumulation
, 1991
"... Several descriptions of basically one transformation technique, viz. accumulation, are compared. Their basis, viz. the associativity and the existence of a neutral element inherent in a monoid, is identified. Keywords transformational programming, factorial, fast reverse, accumulation, continuation ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Several descriptions of basically one transformation technique, viz. accumulation, are compared. Their basis, viz. the associativity and the existence of a neutral element inherent in a monoid, is identified. Keywords transformational programming, factorial, fast reverse, accumulation, continuations, lambda abstraction, generalisation, tail recursion, implementation of lists. This research has been sponsored by the Netherlands Organisation for Scientific Research (NWO), under grant NF 63/62518 (the STOP  Specification and Transformation Of Programs  project). 1 Introduction One of the first program transformations that appeared in the literature was the accumulation transformation. The transformation is now classic, although not everyone may know it under exactly this name. In this note, I try to relate several descriptions of this program transformation technique. In a purely algebraic view, it is the exploitation of the properties of a monoid. In literature, it can be fou...
On Deforesting Parameters of Accumulating Maps
 In Logic Based Program Synthesis and Transformation, 11th International Workshop, LOPSTR 2001, volume 2372 of LNCS
, 2002
"... Deforestation is a wellknown program transformation technique which eliminates intermediate data structures that are passed between functions. One of its weaknesses is the inability to deforest programs using accumulating parameters. ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
Deforestation is a wellknown program transformation technique which eliminates intermediate data structures that are passed between functions. One of its weaknesses is the inability to deforest programs using accumulating parameters.
Program Transformation By Proof in Constructive Framework
 In Informatika '91, Theoretical Computer Science and Methods of Compilation and Program Construction
, 1991
"... This paper aims at presenting the notion of program transformation by proof in type theory and programming with proofs framework. In such framework, programs obtained from proofs are not always efficient and the relationships between programs and good proofs have to be studied. Automatic synthesis a ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper aims at presenting the notion of program transformation by proof in type theory and programming with proofs framework. In such framework, programs obtained from proofs are not always efficient and the relationships between programs and good proofs have to be studied. Automatic synthesis and verification of programs have been tackled in the constructive type theory and we are interested by the transformational approach, with some degree of automation, in such a framework. We present some techniques of proof and program transformation using proof synthesis information. A strategy of generalization by abstraction of terms is presented, with a view to deriving by constructive proofs new program versions, and we analyze the connections with data modifications and induction choices. 1 Introduction The derivation of correct and efficient programs from formal specifications can be considered in different ways. An important one consists in using the transformation technique which is...
The List Introduction Strategy for the Derivation of Logic Programs
, 2002
"... We present a new program transformation strategy based on the introduction of lists. This strategy is an extension of the tupling strategy which is based on the introduction of tuples of xed length. The list introduction strategy overcomes some of the limitations of the tupling strategy and, in par ..."
Abstract
 Add to MetaCart
We present a new program transformation strategy based on the introduction of lists. This strategy is an extension of the tupling strategy which is based on the introduction of tuples of xed length. The list introduction strategy overcomes some of the limitations of the tupling strategy and, in particular, it makes it possible to transform general recursive programs into linear recursive ones also in cases when this transformation cannot be performed by the tupling strategy. The linear recursive programs we derive by applying the list introduction strategy have in most cases very good time and space performance because they avoid repeated evaluations of goals and unnecessary constructions of data structures.