Attribute Grammars and Folds : Generic Control Operators - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 1996

Attribute Grammars and Folds : Generic Control Operators


Generic control operators, such as \emph{fold}, have been introduced in functional programming to increase the power and applicability of data-structure-based transformations. This is achieved by making the structure of the data more explicit in program specifications. We argue that this very important property is one of the original concepts of attribute grammars. In this paper, we informally show the similarities between the fold formalism and attribute grammar specifications. We also compare their respective method to eliminate the intermediate data structures introduced by function composition (notion of deforestation or fusion): the normalization algorithm for programs expressed with folds and the descriptional composition of attribute grammars. Rather than identify the best way to achieve deforestation, the main goal of this paper is merely to intuitively present two programming paradigms to each other's supporting community and provide an unbiased account of their similarities and differences, in the hope that this leads to fruitful cross-fertilization.
Fichier principal
Vignette du fichier
RR-2957.pdf (360.78 Ko) Télécharger le fichier

Dates and versions

inria-00073741 , version 1 (24-05-2006)


  • HAL Id : inria-00073741 , version 1


Étienne Duris, Didier Parigot, Gilles Roussel, Martin Jourdan. Attribute Grammars and Folds : Generic Control Operators. [Research Report] RR-2957, INRIA. 1996. ⟨inria-00073741⟩
132 View
127 Download


Gmail Facebook Twitter LinkedIn More