U. Redex and C. , Hylo a gauche avec un redex Hylo-Ana a droite : ; 1 ; out F

. Dans-ce-cas, la r eduction d'un redex ne d etruit pas l'autre redex

U. Redex and H. , Ana a gauche avec un redex Cata-Hylo a droite : ; 1 ; out F

. Dans-ce-cas, la r eduction d'un redex ne d etruit pas l'autre redex

. Appliquer-la-fusion, ensemble de la pr esentation qui a et e faite jusqu'ici permet donc de fusionner, tout en d eforestant, des programmes fonctionnels qui sont exprim es en terme de composition d'hylomorphismes . Le probl eme est qu'il n'est pas forc ement ais e, ni intuitif, d' ecrire directement des programmes dans le formalisme des hylomorphismes. L'id ee s'est donc impos ee d'une traduction automatique de programmes d'un langage fonctionnel classique en composition d'hylomorphismes

H. Alblas, Attribute evaluation methods, Alblas and Melichar AM91], pp.48-113
DOI : 10.1007/3-540-54572-7_3

H. Alblas and B. Melichar, Attribute Grammars, Applications and Systems, of Lect. Notes in Comp. Sci, 1991.
DOI : 10.1007/3-540-54572-7

I. Attali, B. M. Burstall, and J. Darlington, Compilation de programmes TYPOL par attributs s emantiques A transformation system for developing recursive programs, Journal of the ACM, vol.24, issue.1, pp.44-67, 1977.

]. F. Bel91a and . Bellegarde, ASTRE, a Transformation System using Completion, 1991.

]. F. Bel91b and . Bellegarde, Program Transformation and Rewriting Bel93] F. Bellegarde. A transformation system combining partial evaluation with term rewriting, Proceedings of the fourth conference on Rewriting Techniques and Applications, volume 488 of Lect. Notes in Comp. Sci. Higher Order Algebra, Logic and Term Rewriting (HOA '93), volume 816 of Lect. Notes in Comp. Sci., pages 40{58, 1991.

]. F. Bel95a and . Bellegarde, ASTRE: Towards a Fully Automated Program Transformation System, Proceedings of the sixth conference on Rewriting Techniques and Applications, volume 914 of Lect. Notes in Comp. Sci, 1995.

]. F. Bel95b, D. Bellegarde, B. J. Batory, ]. R. Geraci-bir84, and . Bird, Automatic Synthesis by Completion Journ ees Francophones sur les Langages Applicatifs, INRIA, collection didactiques Validating component compositions in software system generators Using circular programs to eliminate multiple traversal of data Relational program derivation and contextfree language recognition, International Conference on Software Reuse, pp.239-250, 1984.

G. V. Bochmann, Semantic evaluation from left to right, Communications of the ACM, vol.19, issue.2, pp.55-62, 1976.
DOI : 10.1145/359997.359999

J. Boyland, Conditional attribute grammars, ACM Transactions on Programming Languages and Systems, vol.18, issue.1, pp.73-108, 1996.
DOI : 10.1145/225540.225544

E. Lo-c-correnson, D. Duris, G. Parigot, and . Roussel, Generic programming by program composition (position paper), Workshop on Generic Programming, 1998.

E. Lo-c-correnson, D. Duris, G. Parigot, and . Roussel, Sch ema g en erique de d eveloppement par composition, Approches Formelles dans l'Assistance au D eveloppement de Logiciel AFADL'98, 1998.

B. Courcelle and P. Franchi-zannettacci, Attribute grammars and recursive program schemes and 3):163{191 and 235{257, 1982. part I and II See also: rapport 8008, Theoretical Computer Science, vol.17, issue.2, 1980.
DOI : 10.1016/0304-3975(82)90003-2

URL : http://doi.org/10.1016/0304-3975(82)90003-2

C. , R. Cohen, and E. Harry, Automatic generation of near-optimal linear-time translators for non-circular attribute grammars, 6th ACM Symp. on Principles of Progr. Languages, pp.121-134, 1979.

]. W. Chi94, S. Chin-chin, and . Khoo, Safe fusion of functional expressions II: Further improvements Better consumers for deforestation, Programming Languages: Implementations, Logic and Programs (PLILP '95), pp.515-555, 1994.

M. Laurian, D. F. Chirica, and . Martin, An algebraic formulation of knuthian semantics, 17th IEEE Conf. on Foundations of Comput. Sc., pages 127{136, 1976.

M. Laurian, D. F. Chirica, and . Martin, An order-algebraic deenition of Knuthian semantics Mathematical Systems Theory, pp.1-27, 1978.

C. Consel, A framework of application generator design, 1996.
URL : https://hal.archives-ouvertes.fr/inria-00073690

]. N. Der88 and . Dershowitz, Completion and its applications, Resolution of Equations in Algebraic Structures, 1988.

P. Deransart, M. Jourdan, and B. Lorho, Speeding up circularity tests for attribute grammars, Acta Informatica, vol.21, issue.4, pp.375-391, 1983.
DOI : 10.1007/BF00264616

URL : https://hal.archives-ouvertes.fr/inria-00076347

P. Deransart, M. Jourdan, and B. Lorho, Attribute Grammars: Deenitions, Systems and Bibliography, volume 323 of Lect, Notes in Comp. Sci, 1988.

E. Duris, D. Parigot, G. Roussel, and M. Jourdan, Structuredirected genericity in functional programming and attribute grammars, 1997.
URL : https://hal.archives-ouvertes.fr/inria-00073586

J. Engelfriet and G. Fil-e, Simple multi-visit attribute grammars, Journal of Computer and System Sciences, vol.24, issue.3, pp.283-314, 1980.
DOI : 10.1016/0022-0000(82)90030-7

URL : http://doi.org/10.1016/0022-0000(82)90030-7

J. Engelfriet, Attribute grammars: Attribute evaluation methods Methods and Tools for Compiler Construction, pages 103{138 Fan72] Isu Fang. FOLDS, a Declarative Formal Language Deenition System, Abstract in: t S eminaires Structure et Programmation des Calculateurs, pp.275-290, 1972.

R. Farrow, Automatic generation of xed-point--nding evaluators for circular , but well-deened, attribute grammars Fil83] Gilberto Fil e. Interpretation and reduction of attribute grammars, ACM SIGPLAN '86 Symp. on Compiler Construction, pp.115-150, 1981.

F. L. Fegaras, D. Maier, and T. Sheard, Specifying rule-based query optimizers in a reeective framework, Third International Conference on Deductive and Object-Oriented Databases, pp.146-168, 1993.

M. Maarten, T. Fokkinga-leonidas-fegaras, D. Sheard, and . Stemple, A gentle introduction to category theory | the calculational approach In Lecture Notes of the 1992 Summerschool on Constructive Algorithmics, pages 1{72 of Part 1 Uniform traversal combinators: Deenition, use and properties, 11th International Conference on Automated Deduction, pp.148-162, 1992.

F. , L. Fegaras, T. Sheard, and T. Zhou, Improving programs which recurse over multiple inductive structures, ACM SIGPLAN Workshop on Partial Evaluation and Semantics-Based Program Manipulation (PEPM'94), pp.21-32, 1994.

H. Ganzinger, Transforming denotational semantics into practical attribute grammars, Semantics-Directed Compiler Generation, pp.1-69, 1980.
DOI : 10.1007/3-540-10250-7_18

G. , H. Ganzinger, and R. Giegerich, Attribute coupled grammars, ACM SIGPLAN '84 Symp. on Compiler Construction 157{170, Montr eal, 1984.
DOI : 10.1145/502874.502890

G. Giegerich, Composition and evaluation of attribute coupled grammars, Acta Informatica, vol.12, issue.2, pp.355-423, 1988.
DOI : 10.1007/BF02737108

A. Gill, Cheap Deforestation for Non-strict Functional Languages, 1996.

R. Gl, U. , and J. Jjrgensen, Generating transformers for deforestation and supercompilation, Static Analysis, pp.432-448, 1994.

G. Gill, J. Launchbury, and S. Jones, A short cut to deforestation, Proceedings of the conference on Functional programming languages and computer architecture , FPCA '93, 1993.
DOI : 10.1145/165180.165214

]. G. Ham96 and . Hamilton, Higher order deforestation, Int. Symp. on Progr. Languages, Implementations, Logics and Programs (PLILP'96), volume 1140 of Lect. Notes in Comp. Sci, pp.122-136, 1996.

. Hed97 and . Hedin, Language support for design patterns using attribute extension, Language Support for Design Patterns and Frameworks, p.97, 1997.

H. Hu, H. Iwasaki, and M. Takeishi, Construction of list homomorphisms by tupling and fusion, 21st International Symposium on Mathematical Foundations of Computer Science (MFCS'96), volume 1113 of Lect. Notes in Comp. Sci, pp.407-418, 1996.
DOI : 10.1007/3-540-61550-4_166

H. Hu, H. Iwasaki, and M. Takeishi, Deriving structural hylomorphisms from recursive deenitions, Proc.of the International Conference on Functional Programming (ICFP'96), pp.73-82, 1996.
DOI : 10.1145/232627.232637

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.2678

H. , G. Hamilton, and S. B. Jones, Extending deforestation for rst order functional programs, Glasgow Workshop on Functional Programming, pp.134-145, 1991.
DOI : 10.1007/978-1-4471-3196-0_11

]. J. Hug89 and . Hughes, Why Functional Programming Matters, Computer Journal, vol.32, issue.2, pp.98-107, 1989.

J. Jalili, A general linear-time evaluator for attribute grammars, ACM SIGPLAN Notices, vol.18, issue.9, pp.35-44, 1983.
DOI : 10.1145/988227.988231

J. , J. Jeuring, and P. Jansson, Polytypic programming, Advanced Functional Programming, pp.68-114, 1996.
DOI : 10.1007/3-540-61628-4_3

J. , P. Jansson, and J. Jeuring, PolyP -a polytypic programming language extension, 24th ACM Symp. on Principles of Programming Languages, 1997.
DOI : 10.1145/263699.263763

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.30.20

J. Johnsson, Attribute grammars as a functional programming paradigm, Func. Prog. Languages and Computer Architecture Lecture Notes in Computer Science, vol.274, pp.154-173, 1987.
DOI : 10.1007/3-540-18317-5_10

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.8549

J. Jourdan, An optimal-time recursive evaluator for attribute grammars, 6th Int. Symp. on Programming, pp.167-178, 1984.
DOI : 10.1007/3-540-12925-1_37

J. Jourdan, Recursive evaluators for attribute grammars: an implementation, Methods and Tools for Compiler Construction, pp.139-164, 1984.

M. Jourdan, Des bienfaits de l'analyse statique sur la mise en uvre des grammaires attribu ees, 1992.

M. Jourdan and D. Parigot, The FNC-2 System User's Guide and Reference Manual, 1989.

C. Juli-e and D. Parigot, Space optimization in the FNC-2 attribute grammar system, Attribute Grammars and their Applications (WAGA), pp.29-45, 1990.
DOI : 10.1007/3-540-53101-7_3

M. Jourdan and D. Parigot, Internals and externals of the FNC-2 attribute grammar system, Attribute Evaluation Methods, pp.485-504, 1991.
DOI : 10.1007/3-540-54572-7_20

J. Jourdan, D. Parigot, C. Juli-e, O. Durin, and C. L. Bellec, Design, implementation and evaluation of the FNC-2 attribute grammar system, Conf. on Programming Languages Design and Implementation, pp.209-222, 1990.

U. Kastens, Ordered attributed grammars, Acta Informatica, vol.9, issue.3, pp.229-256, 1978.
DOI : 10.1007/BF00288644

U. Kastens, Lifetime analysis for attributes, Acta Informatica, vol.24, issue.6, pp.633-652, 1987.
DOI : 10.1007/BF00282619

U. Kastens, Implementation of visit-oriented attribute evaluators, Alblas and Melichar AM91], pages 114{139. Prague
DOI : 10.1007/3-540-54572-7_4

K. , R. Kieburtz, and J. Lewis, Algebraic design language, 1994.

E. Donald and . Knuth, Semantics of context-free languages, Mathematical Systems Theory, pp.127-145, 1968.

K. Kennedy and J. Ramanathan, A Deterministic Attribute Grammar Evaluator Based on Dynamic Scheduling, ACM Transactions on Programming Languages and Systems, vol.1, issue.1, pp.142-160, 1979.
DOI : 10.1145/357062.357072

G. Le and B. Atard, R ealisation dans le syst eme FNC-2 d'un traducteur vers ML. rapport de stage de ma^ trise, IFI, 1995.

K. J. Lieberherr, Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns, 1996.

L. Lopes and K. J. Lieberherr, AP/S++: A CASE-study of a MOP for purposes of software evolution, 1995.

B. Lorho, De la d eenition a la traduction des langages de programmation: m ethode des attributs s emantiques. th ese d' etat, 1974.

B. Lorho, Semantic attributes processing in the system DELTA, Methods of Algorithmic Language Implementation, 1977.
DOI : 10.1007/3-540-08065-1_2

J. Launchbury and T. Sheard, Warm fusion, Proceedings of the seventh international conference on Functional programming languages and computer architecture , FPCA '95, pp.314-323, 1995.
DOI : 10.1145/224164.224223

O. L. Madsen, On deening semantics by means of extended attribute grammars Semantics-Directed Compiler Generation, Lecture Notes in Computer Science, vol.94, 1980.

M. Malcolm, Algebraic Types and Program Transformation, 1990.

M. Meertens, Paramorphisms, Formal Aspects of Computing, vol.14, issue.5, pp.413-424, 1992.
DOI : 10.1007/BF01211391

M. Meertens, Category theory for program construction by calculation, 1995.

M. E. Meijer, M. M. Fokkinga, and R. Paterson, Functional programming with bananas, lenses, envelopes and barbed wire, Conf. on Functional Programming and Computer Architecture (FPCA'91), pp.124-144, 1991.
DOI : 10.1007/3540543961_7

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.125

E. Meijer and G. Hutton, Bananas in space, Proceedings of the seventh international conference on Functional programming languages and computer architecture , FPCA '95, 1995.
DOI : 10.1145/224164.224225

M. , Z. Manna, and R. Waldinger, Knowledge and reasoning in program synthesis, Artif. Intel. J, vol.6, issue.2, pp.175-208, 1975.

M. , Z. Manna, and R. Waldinger, Synthesis: Dreams =>programs, IEEE Transaction on Software Engineering, vol.5, issue.4, pp.157-164, 1979.

M. T. Murer, A. Urtz, D. Scherer, and D. Schweizer, GIPSY: Generating integrated process support systems -project overview. Ik-report no, 1996.

F. Ndb98, J. Neven, and . Van-den-bussche, Expressiveness of structured document query languages based on attribute grammars, PODS '98. Proceedings of the seventeenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, pp.11-17, 1998.

O. Y. Onoue, Z. Hu, H. Iwasaki, and M. Takeichi, A Calculational Fusion System HYLO, Proc. IFIP TC 2 Working Conference on Algorithmic Languages and Calculi, 1997.
DOI : 10.1007/978-0-387-35264-0_4

URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.36.3768

J. Paakki, Attribute grammar paradigms---a high-level methodology in language implementation, ACM Computing Surveys, vol.27, issue.2, pp.196-255, 1995.
DOI : 10.1145/210376.197409

P. Parigot, Transformations, Evaluation Incr ementale et Optimisations des Grammaires Attribu es: Le Syst eme FNC-2, 1988.

P. Parigot, E. Duris, G. Roussel, and M. Jourdan, Attribute grammars: a declarative functional language, 1995.
URL : https://hal.archives-ouvertes.fr/inria-00074027

P. Parigot, E. Duris, G. Roussel, and M. Jourdan, Les grammaires attribu ees : un langage fonctionnel d eclaratif, 1995.

P. Parigot, E. Duris, G. Roussel, and M. Jourdan, Les grammaires attribu ees : un langage fonctionnel d eclaratif A theory of logic program specialization and generalization for dealing with input data properties, Journ ees Francophones des Langages Applicatifs, pp.386-408, 1996.

A. Pettorossi and M. Proietti, Flexible continuations in logic programs via unfold/fold transformations and goal generalization, 2nd ACM Sigplan Workshop on Continuations (CW'97), 1997.

A. Pettorossi, M. Proietti, and S. Renault, Reducing nondeterminism while specializing logic programs, Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages , POPL '97, 1997.
DOI : 10.1145/263699.263759

J. Palsberg, B. Patt-shamir, and K. Lieberherr, A new approach to compiling adaptive programs, European Symposium on Programming, pp.280-295, 1996.

P. Parigot, G. Roussel, M. Jourdan, and E. Duris, Dynamic Attribute Grammars, Int. Symp. on Progr. Languages, Implementations, Logics and Programs (PLILP'96), volume 1140 of Lect. Notes in Comp. Sci, pp.122-136, 1996.
DOI : 10.1007/3-540-61756-6_81

URL : https://hal.archives-ouvertes.fr/inria-00073810

P. Parigot, G. Roussel, M. Jourdan, and E. Duris, Dynamic Attribute Grammars PS87] A. Pettorossi and A. Skowron. Higher Order Generalization in Program Derivation, Proceedings of TAPSOFT '87: Theory and Practice of Software Development Red88] U. S. Reddy. Transformational derivation of programs using the focus system. In Symposium Practical Software Development Environments, pp.163-172, 1987.

G. Roussel, Algorithmes de base pour la modularit e et la r eutilisabilit e des grammaires attribu ees, 1994.

H. Seidl, Integer constraints to stop deforestation, Programming Languages and Systems|ESOP'96, 6th European Symposium on Programming, pp.326-340, 1996.
DOI : 10.1007/3-540-61055-3_46

T. Sheard and L. Fegaras, A fold for all seasons, Proceedings of the conference on Functional programming languages and computer architecture , FPCA '93, 1993.
DOI : 10.1145/165180.165216

M. Heine-ssrensen, R. Gl, and N. D. Jones, Towards unifying partial evaluation, deforestation, supercompilation, and GPC, European Symposium on Programming, pp.485-500, 1994.
DOI : 10.1007/3-540-57880-3_32

M. Heine-ssrensen, A grammar-based data--ow analysis to stop deforestation, Colloquium on Trees in Algebra and Programming SSrensen. Constraints to stop deforestation. Science of Computer Programming, 1994.

]. H. Ss97b, M. H. Seidl, and . Ssrensen, Constraints to stop higher-order deforestation, 24th ACM Symp. on Principles of Programming Languages SV91] S. Doaitse Swierstra and Harald H. Vogt. Higher Order Attribute Grammars Alblas and Melichar AM91], pp.400-413, 1997.

A. Takano and E. Meijer, Shortcut deforestation in calculational form, Proceedings of the seventh international conference on Functional programming languages and computer architecture , FPCA '95
DOI : 10.1145/224164.224221

T. S. Thibault, R. Marlet, and C. Consel, Mapping software architectures to eecient implementations via partial evaluation, the IEEE conference on Automated Software Engineering (ASE'97), Lake Tahoe, 1997.

F. Valentin and . Turchin, The concept of a supercompiler, ACM Transactions on Programming Languages and Systems, vol.8, issue.3, pp.292-325, 1986.

H. H. Vogt, S. D. Swierstra, and M. F. Kuiper, Higher order attribute grammars, ACM SIGPLAN '89 Conf. on Progr. Lang. Design and Implementation, pp.131-145, 1989.

P. Wadler, Listlessness is better than laziness, Proceedings of the 1984 ACM Symposium on LISP and functional programming , LFP '84, 1984.
DOI : 10.1145/800055.802020

P. Wadler, Listlessness is better than laziness II: Composing listless functions, Workshop on Programs as Data Objects, 1985.
DOI : 10.1007/3-540-16446-4_16

W. Wadler, Deforestation: Transforming programs to eliminate trees, European Symposium on Programming, pp.344-358, 1988.
DOI : 10.1007/3-540-19027-9_23

P. Wadler, Theorems for free! In Conf. on Func, Prog. Languages and Computer Architecture, 1989.