Skip to Main content Skip to Navigation

Symbolic Composition

Abstract : The deforestation of a functional program is a transformation which gets rid ofintermediate data structures constructions that appear when two functions are composed. The descriptional composition, initially introduced by Ganzinger and Giegerich, is a deforestation method dedicated to the composition of two attribute grammars. This article presents a new functional deforestation technique, called symbolic composition, based on the descriptional composition mechanism, but extending it. An automatic translation from a functional program into an equivalent attribute grammar allows symbolic composition to be applied, and then the result can be translated back into a functional program. This yields a sourceto source functional program transformation. The resulting deforestation method provides a better deforestation than other existing functional techniques. Symbolic composition, that uses the declarative and descriptional features of attribute grammars is intrinsically more powerful than categorical-flavored transformations, whose recursion schemes are set by functors. These results tend to show that attribute grammars are a simple intermediate representation, particularly well-suited for program transformations.
Document type :
Complete list of metadata
Contributor : Rapport de Recherche Inria Connect in order to contact the contributor
Submitted on : Wednesday, May 24, 2006 - 12:35:01 PM
Last modification on : Friday, February 4, 2022 - 3:11:22 AM
Long-term archiving on: : Sunday, April 4, 2010 - 11:43:08 PM


  • HAL Id : inria-00073341, version 1


Loïc Correnson, Étienne Duris, Didier Parigot, Gilles Roussel. Symbolic Composition. [Research Report] RR-3348, INRIA. 1998. ⟨inria-00073341⟩



Record views


Files downloads