Skip to main content

Monatron: An Extensible Monad Transformer Library

  • Conference paper
Book cover Implementation and Application of Functional Languages (IFL 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5836))

Included in the following conference series:

Abstract

Monads are pervasive in functional programming. In order to reap the benefits of their abstraction power, combinator libraries for monads are necessary. Monad transformers provide the basis for such libraries, and are based on a design that has proved to be successful. In this article, we show that this design has a number of shortcomings and provide a new design that builds on the strengths of the traditional design, but addresses its problems.

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 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.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. Benton, N., Hughes, J., Moggi, E.: Monads and effects. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 42–122. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Claessen, K.: Parallel Parsing Processes. Journal of Functional Programming 14(6), 741–757 (2004)

    Google Scholar 

  3. Diatchki, I.: Monadlib, http://www.galois.com/~diatchki/monadLib/

  4. Gill, A.: Monad transformer library, http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl-1.1.0.2

  5. Hinze, R.: Deriving backtracking monad transformers. In: ICFP, pp. 186–197 (2000)

    Google Scholar 

  6. Hughes, J.: The Design of a Pretty-printing Library. In: Jeuring, J., Meijer, E. (eds.) AFP 1995. LNCS, vol. 925, pp. 53–96. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  7. Hutton, G., Meijer, E.: Monadic Parsing in Haskell. Journal of Functional Programming 8(4), 437–444 (1998)

    Article  MATH  Google Scholar 

  8. Jaskelioff, M.: Monatron, http://www.cs.nott.ac.uk/~mjj/monatron

  9. Jaskelioff, M.: Modular monad transformers. In: Castagna, G. (ed.) ESOP 2009. LNCS, vol. 5502, pp. 64–79. Springer, Heidelberg (2009)

    Google Scholar 

  10. Jones, M.P.: First-class polymorphism with type inference. In: POPL, pp. 483–496. ACM Press, New York (1997)

    Chapter  Google Scholar 

  11. Peyton Jones, S.L., Wadler, P.: Imperative functional programming. In: POPL, pp. 71–84 (1993)

    Google Scholar 

  12. Peyton Jones, S. (ed.): Haskell 98 Language and Libraries: the Revised Report. Cambridge University Press, Cambridge (2003)

    Google Scholar 

  13. Mac Lane, S.: Categories for the Working Mathematician, 2nd edn. Graduate Texts in Mathematics, vol. 5. Springer, Heidelberg (1971)

    Book  MATH  Google Scholar 

  14. Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: POPL, pp. 333–343 (1995)

    Google Scholar 

  15. Moggi, E.: Notions of computation and monads. Information and Computation 93(1), 55–92 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  16. Stewart, D., Sjanssen, S.: Xmonad. In: Haskell Workshop, Freiburg, Germany, pp. 119–119. ACM, New York (2007)

    Chapter  Google Scholar 

  17. Voigtländer, J.: Asymptotic improvement of computations over free monads. In: Audebaud, P., Paulin-Mohring, C. (eds.) MPC 2008. LNCS, vol. 5133, pp. 388–403. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  18. Wadler, P.: The essence of functional programming. In: POPL, pp. 1–14 (1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jaskelioff, M. (2011). Monatron: An Extensible Monad Transformer Library. In: Scholz, SB., Chitil, O. (eds) Implementation and Application of Functional Languages. IFL 2008. Lecture Notes in Computer Science, vol 5836. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24452-0_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-24452-0_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-24451-3

  • Online ISBN: 978-3-642-24452-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics