Title
Point-free Program Transformation
Abstract
Functional programs are particularly well suited to formal manipulation by equational reasoning. In particular, it is straightforward to use calculational methods for program transformation. Well-known transformation techniques, like tupling or the introduction of accumulating parameters, can be implemented using calculation through the use of the fusion (or promotion) strategy. In this paper we revisit this transformation method, but, unlike most of the previous work on this subject, we adhere to a pure point-free calculus that emphasizes the advantages of equational reasoning. We focus on the accumulation strategy initially proposed by Bird, where the transformed programs are seen as higher-order folds calculated systematically from a specification. The machinery of the calculus is expanded with higher-order point-free operators that simplify the calculations. A substantial number of examples (both classic and new) are fully developed, and we introduce several shortcut optimization rules that capture typical transformation patterns.
Year
Venue
Keywords
2005
Fundam. Inform.
well-known transformation technique,point-free program transformation,calculational method,pure point-free calculus,program transformation,equational reasoning,higher-order fold,transformation method,typical transformation pattern,higher-order point-free operator,accumulation strategy,functional programming
Field
DocType
Volume
Discrete mathematics,Programming language,Program transformation,Functional programming,Equational reasoning,Computer science,Operator (computer programming),Program calculation
Journal
66
Issue
ISSN
Citations 
4
0169-2968
7
PageRank 
References 
Authors
0.54
20
2
Name
Order
Citations
PageRank
Alcino Cunha129827.55
Jorge Sousa Pinto216023.19