Generic control operators, such as 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 present the similarities
between the fold formalism and attribute grammars. In particular,
we show the equivalence of their respective deforestation methods.\\
Given these results and the fundamental role of deforestation in
the concept of structure-directed genericity, first devised
for attribute grammars with descriptional composition, we show how
the fold operator with its fusion method allow to transport
this concept in the area of functional programming.
%0 Report
%1 Duris97gen
%A Duris, Etienne
%A Parigot, Didier
%A Roussel, Gilles
%A Jourdan, Martin
%D 1997
%K Functional ML programing vari.FP
%N 3105
%T Structure-directed Genericity in Functional Programming and Attribute
Grammars
%U ftp://ftp.inria.fr/INRIA/publication/RR/RR-3105.ps.gz
%X Generic control operators, such as 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 present the similarities
between the fold formalism and attribute grammars. In particular,
we show the equivalence of their respective deforestation methods.\\
Given these results and the fundamental role of deforestation in
the concept of structure-directed genericity, first devised
for attribute grammars with descriptional composition, we show how
the fold operator with its fusion method allow to transport
this concept in the area of functional programming.
@techreport{Duris97gen,
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 present the similarities
between the \emph{fold} formalism and attribute grammars. In particular,
we show the equivalence of their respective deforestation methods.\\
Given these results and the fundamental role of deforestation in
the concept of \emph{structure-directed genericity}, first devised
for attribute grammars with descriptional composition, we show how
the \emph{fold} operator with its fusion method allow to transport
this concept in the area of functional programming.},
added-at = {2009-05-10T18:36:57.000+0200},
author = {Duris, Etienne and Parigot, Didier and Roussel, Gilles and Jourdan, Martin},
biburl = {https://www.bibsonomy.org/bibtex/2cd3760a05d8b58177bf3f3140edbda0e/dparigot},
description = {Attribute Grammar},
institution = {INRIA},
interhash = {3a36f218a91408ee32f882eea052bdd0},
intrahash = {cd3760a05d8b58177bf3f3140edbda0e},
keywords = {Functional ML programing vari.FP},
month = {February},
number = 3105,
postscript = {http://www-sop.inria.fr/smartool/Didier.Parigot/publications/RR-3105.ps.gz},
timestamp = {2009-05-10T18:37:00.000+0200},
title = {Structure-directed Genericity in Functional Programming and Attribute
Grammars},
type = {Rapport de Recherche},
url = {ftp://ftp.inria.fr/INRIA/publication/RR/RR-3105.ps.gz},
year = 1997
}