Attribute Grammars and Folds : Generic Control Operators

Abstract : 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.
Type de document :
[Research Report] RR-2957, INRIA. 1996
Liste complète des métadonnées

Littérature citée [1 références]  Voir  Masquer  Télécharger
Contributeur : Rapport de Recherche Inria <>
Soumis le : mercredi 24 mai 2006 - 13:39:29
Dernière modification le : vendredi 25 mai 2018 - 12:02:05
Document(s) archivé(s) le : dimanche 4 avril 2010 - 23:56:43



  • 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〉



Consultations de la notice


Téléchargements de fichiers