Skip to main content

An Algebraic View of Program Composition

  • Conference paper
  • First Online:
Book cover Algebraic Methodology and Software Technology (AMAST 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1548))

Abstract

We propose a general categorical setting for modeling program composition in which the call-by-value and call-by-name disciplines fit as special cases. Other notions of composition arising in denotational semantics are captured in the same framework: our leading examples are nondeterministic call-by-need programs and nonstrict functions with side effects. Composition of such functions is treated in our framework with the same degree of abstraction that Moggi’s categorical approach based on monads allows in the treatment of call-by-value programs. By virtue of such abstraction, interesting program equivalences can be validated axiomatically in mathematical models obtained by means of modular constructions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Jon Beck. Distributive laws. In B. Eckman, editor, Seminar on triples and categorical homology theory, pages 119–140, Berlin, 1969. Springer LNM 80.

    Google Scholar 

  2. M. Barr and C. Wells. Toposes, triples and theories. Springer-Verlag, New York, 1985.

    MATH  Google Scholar 

  3. P. Cenciarelli. Computational applications of calculi based on monads. PhD thesis, Department of Computer Science, University of Edinburgh, 1995. CST-127-96. Also available as ECS-LFCS-96-346.

    Google Scholar 

  4. P. Cenciarelli. Objects and computation. Presented at the Dagstuhl seminar on “The Semantic Challenge of Object-Oriented Programming”, Schloss Dagstuhl, Wadern, Germany, 28/6-3/7 1998.

    Google Scholar 

  5. P. Cenciarelli, A. Knapp, B. Reus, and M. Wirsing. An Event-Based Structural Operational Semantics of Multi-Threaded Java. In J. Alves-Foss, editor, Formal Syntax and Semantics of Java, 1523 LNCS. Springer, 1998.

    Google Scholar 

  6. P. Cenciarelli and E. Moggi. A syntactic approach to modularity in denotational semantics. In Proceedings of 5th Biennial Meeting on Category Theory and Computer Science. CTCS-5, 1993. CWI Tech. Report.

    Google Scholar 

  7. M.P. Jones and L. Duponcheel. Composing monads. Technical Report YALEU/DCS/RR-1004, Department of Computer Science, Jale University, 1993.

    Google Scholar 

  8. G.M. Kelly and A.J. Power. Adjunctions whose counits are coequalizers, and presentations of finitary monads. Journal of Pure and Applied Algebra, 89:163–179, 1993.

    Article  MATH  MathSciNet  Google Scholar 

  9. F.E.J. Linton. Coequalizers in Categories of Algebras. In Seminar on Triples and Categorical Homology Theory, pages 75–90. Springer LNM 80, 1969.

    Google Scholar 

  10. E. Moggi. An abstract view of programming languages. Technical Report ECS-LFCS-90-113, University of Edinburgh, Comp. Sci. Dept., 1990.

    Google Scholar 

  11. E. Moggi. Modular approach to denotational semantics. Unpublished manuscript, November1990.

    Google Scholar 

  12. E. Moggi. Notions of computation and monads. Information and Computation, 93(1), 1991.

    Google Scholar 

  13. E.P. Robinson. Note on the presentation of enriched monads. Unpublished manuscript, available by ftp from theory.doc.ic.ac.uk, 1995.

    Google Scholar 

  14. R. Street. The formal theory of monads. Journal of Pure and Applied Algebra, 2:149–168, 1972.

    Article  MATH  MathSciNet  Google Scholar 

  15. R.D. Tennent. Semantics of programming languages. Prentice Hall, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cenciarelli, P. (1998). An Algebraic View of Program Composition. In: Haeberer, A.M. (eds) Algebraic Methodology and Software Technology. AMAST 1999. Lecture Notes in Computer Science, vol 1548. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49253-4_24

Download citation

  • DOI: https://doi.org/10.1007/3-540-49253-4_24

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65462-9

  • Online ISBN: 978-3-540-49253-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics