Categorical Descriptional Composition

  • Shin-ya Katsumata
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6461)


Descriptional composition is a method to fuse two term transformation algorithms described by attribute couplings (AC, attribute grammars over terms) into one. In this article, we provide a general categorical framework for the descriptional composition based on traced symmetric monoidal categories and the construction by Joyal et al. We demonstrate that this framework can handle the descriptional composition of SSUR-ACs, nondeterministic SSUR-ACs, quasi-SSUR ACs and quasi-SSUR stack ACs.


Monoidal Category Trace Operator Left Adjoint Forgetful Functor Tree Transducer 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bartha, M.: Linear deterministic attributed transformations. Acta Cybern. 6, 125–147 (1983)MathSciNetzbMATHGoogle Scholar
  2. 2.
    Blackwell, R., Kelly, G.M., Power, A.J.: Two-dimentional monad theory. Journal of pure and applied algebra 59, 1–41 (1989)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Boyland, J.: Conditional attribute grammars. ACM Trans. Program. Lang. Syst. 18(1), 73–108 (1996)CrossRefGoogle Scholar
  4. 4.
    Chirica, L.M., Martin, D.F.: An order-algebraic definition of Knuthian semantics. Mathematical Systems Theory 13, 1–27 (1979)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Courcelle, B., Deransart, P.: Proofs of partial correctness for attribute grammars with applications to recursive procedures and logic programming. Inf. Comput. 78(1), 1–55 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Ganzinger, H.: Increasing modularity and language-independency in automatically generated compilers. Sci. Comput. Program. 3(3), 223–278 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Ganzinger, H., Giegerich, R.: Attribute coupled grammars. In: SIGPLAN Symposium on Compiler Construction 1984, pp. 157–170. ACM, New York (1984)CrossRefGoogle Scholar
  8. 8.
    Giegerich, R.: Composition and evaluation of attribute coupled grammars. Acta Inf. 25(4), 355–423 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Hasegawa, M.: Models of Sharing Graphs: A Categorical Semantics of let and letrec. Springer, Heidelberg (1999)CrossRefzbMATHGoogle Scholar
  10. 10.
    Johnsson, T.: Attribute grammars as a functional programming paradigm. In: Kahn, G. (ed.) FPCA 1987. LNCS, vol. 274, pp. 154–173. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  11. 11.
    Joyal, A., Street, R., Verity, D.: Traced monoidal categories. Mathematical Proceedings of the Cambridge Philosophical Society 119(3), 447–468 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Katsumata, S.: Attribute grammars and categorical semantics. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp. 271–282. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Katsumata, S., Nishimura, S.: Algebraic fusion of functions with an accumulating parameter and its improvement. In: Reppy, J.H., Lawall, J.L. (eds.) ICFP, pp. 227–238. ACM, New York (2006)Google Scholar
  14. 14.
    Knuth, D.E.: Semantics of context-free languages. Mathematical Systems Theory 2(2), 127–145 (1968)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Knuth, D.E.: Correction: Semantics of context-free languages. Mathematical Systems Theory 5(1), 95–96 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Kock, A.: Strong functors and monoidal monads. Archiv. der Math. 23(1), 113–120 (1972)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    MacLane, S.: Categories for the Working Mathematician, 2nd edn. Graduate Texts in Mathematics, vol. 5. Springer, Heidelberg (1998)zbMATHGoogle Scholar
  18. 18.
    Nakano, K.: Composing stack-attributed tree transducers. Theory Comput. Syst. 44(1), 1–38 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Nishimura, S.: Deforesting in accumulating parameters via type-directed transformations. In: APLAS 2002, pp. 145–159 (2002)Google Scholar
  20. 20.
    Nishimura, S., Nakano, K.: XML stream transformer generation through program composition and dependency analysis. Sci. Comput. Program. 54(2-3), 257–290 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Tanaka, M., Power, J.: Pseudo-distributive laws and axiomatics for variable binding. Higher-Order and Symbolic Computation 19(2-3), 305–337 (2006)CrossRefzbMATHGoogle Scholar
  22. 22.
    Voigtländer, J.: Using circular programs to deforest in accumulating parameters. Higher-Order and Symbolic Computation 17(1-2), 129–163 (2004)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Shin-ya Katsumata
    • 1
  1. 1.Research Institute for Mathematical SciencesKyoto UniversityKyotoJapan

Personalised recommendations