Advertisement

Monads and Modularity

  • Christoph Lüth
  • Neil Ghani
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2309)

Abstract

This paper argues that the core of modularity problems is an understanding of how individual components of a large system interact with each other, and that this interaction can be described by a layer structure. We propose a uniform treatment of layers based upon the concept of a monad. The combination of different systems can be described by the coproduct of monads.

Concretely, we give a construction of the coproduct of two monads and show how the layer structure in the coproduct monad can be used to analyse layer structures in three different application areas, namely term rewriting, denotational semantics and functional programming.

Keywords

Natural Transformation Algebraic Theory Free Algebra Functional Programming Left Adjoint 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Haskell 98: A non-strict, purely functional language. Available at http://www.haskell.org, January 1999.
  2. 2.
    J. Adamek and J. Rosický. Locally Presentable and Accessible Categories. LMS Lecture Notes 189, Cambridge University Press, 1994.Google Scholar
  3. 3.
    E. J. Dubuc and G. M. Kelly. A presentation of topoi as algebraic relative to categories or graphs. Journal for Algebra, 81:420–433, 1983.zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    M. Fiore, G. Plotkin, and D. Turi. Abstract syntax and variable binding. In Proc. LICS’99, pages 193–202. IEEE Computer Society Press, 1999.Google Scholar
  5. 5.
    N. Ghani, C. Lüth, F. de Marchi, and J. Power. Algebras, coalgebras, monads and comonads. Proc. CMCS’01, ENTCS 44:1, 2001.Google Scholar
  6. 6.
    M. Jones and L. Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Yale University, Dept. Comp. Sci, Dec 1993.Google Scholar
  7. 7.
    G. M. Kelly. A unified treatment of transfinite constructions for free algebras, free monoids, colimits, associated sheaves and so on. Bulletins of the Australian Mathematical Society, 22:1–83, 1980.zbMATHCrossRefGoogle Scholar
  8. 8.
    D. King and P. Wadler. Combining monads. In J. Launchbury and P.M. Samson, eds., Functional Programming, Workshops in Computing, 1993.Google Scholar
  9. 9.
    S. Liang, P. Hudak, and M. Jones. Monad transformers and modular interpreters. In Proc. of the 22nd ACM Symposium on Principles of Programming Languages. ACM Press, Jan 1995.Google Scholar
  10. 10.
    C. Lüth. Categorical Term Rewriting: Monads and Modularity. PhD thesis, University of Edinburgh, 1998.Google Scholar
  11. 11.
    C. Lüth and N. Ghani. Monads and modular term rewriting. In CTCS’97, LNAI 1290, pages 69–86. Springer, Sep 1997.Google Scholar
  12. 12.
    S. Mac Lane. Categories for the Working Mathematician, Graduate Texts in Mathematics 5. Springer, 1971.Google Scholar
  13. 13.
    E. Moggi. Computational lambda-calculus and monads. In Proc. LICS’89. IEEE, Computer Society Press, June 1989.Google Scholar
  14. 14.
    E. Moggi. An abstract view of programming languages. Technical Report ECSLFCS-90-113, LFCS, 1990.Google Scholar
  15. 15.
    M. Rusinowitch. On the termination of the direct sum of term-rewriting systems. Information Processing Letters, 26(2):65–70, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    D. T. Sannella and R. M. Burstall. Structured theories in LCF. In 8 th Colloquium on Trees in Algebra and Programming, LNAI 159, pages 377–391. Springer, 1983.Google Scholar
  17. 17.
    D. T. Sannella and A. Tarlecki. Specifications in an arbitrary institution. Information and Computation, 76(2/3):165–210, Feb/Mar 1988.CrossRefMathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Christoph Lüth
    • 1
  • Neil Ghani
    • 2
  1. 1.FB — Mathematik und InformatikUniversität BremenBremen
  2. 2.Department of Mathematics and Computer ScienceUniversity of LeicesterLeicester

Personalised recommendations