1. Zena M. Ariola & Matthias Felleisen (1997): The Call-By-Need Lambda Calculus. Journal of Functional Programming 7, pp. 265–301, doi:10.1017/S0956796897002724.
  2. Clem Baker-Finch, David J. King & Phil Trinder (2000): An Operational Semantics for Parallel Lazy Evaluation. In: Proceedings of ICFP 2000, doi:10.1145/351240.351256.
  3. Max Bolingbroke (2011): Constraint Kinds for GHC (Unpublished manuscript). Available at
  4. B. Braßel, S. Fischer, M. Hanus & F. Reck (2011): Transforming Functional Logic Programs into Monadic Functional Programs. In: Proceedings of WFLP 2010. LNCS 6559, pp. 30–47, doi:
  5. Stephen Brookes & Shai Geva (1992): Computational Comonads and Intensional Semantics. In: Applications of Categories in Computer Science: Proceedings of the LMS Symposium 177, pp. 1–44, doi:
  6. Sebastian Fischer, Oleg Kiselyov & Chung-chieh Shan (2011): Purely Functional Lazy Non-Deterministic Programming. Journal of Functional Programming 21(4–5), pp. 413–465, doi:10.1145/1631687.1596556.
  7. John Hughes (1998): Generalising Monads to Arrows. Science of Computer Programming 37, pp. 67–111, doi:10.1016/S0167-6423(99)00023-4.
  8. Richard B. Kieburtz (1999): Codata and Comonads in Haskell (Unpublished manuscript).
  9. John Launchbury (1993): A Natural Semantics for Lazy Evaluation. In: Proceedings of POPL 1993, pp. 144–154, doi:10.1145/158511.158618.
  10. John Launchbury & Trevor Elliott (2010): Concurrent orchestration in Haskell. In: Proceedings of Haskell Symposium, Haskell 2010, pp. 79–90, doi:10.1145/1863523.1863534.
  11. John Launchbury & Simon Peyton Jones (1995): State in Haskell. In: Proceedings of the LISP and Symbolic Computation Conference, LISP 1995, doi:10.1007/BF01018827.
  12. Paul Blain Levy (2004): Call-By-Push-Value. Springer. ISBN: 978-1-4020-1730-8.
  13. Sheng Liang, Paul Hudak & Mark Jones (1995): Monad Transformers and Modular Interpreters. In: Proceedings of POPL 1995, doi:10.1145/199448.199528.
  14. Simon Marlow, Ryan Newton & Simon Peyton Jones (2011): A Monad for Deterministic Parallelism. In: Proceedings of the 4th Symposium on Haskell, Haskell 2011, doi:10.1145/2034675.2034685.
  15. Conor McBride & Ross Paterson (2008): Applicative Programming with Effects. Journal of Functional Programming 18, pp. 1–13, doi:10.1017/S0956796807006326.
  16. Eugenio Moggi (1991): Notions of Computation and Monads. Inf. Comput. 93, pp. 55–92, doi:10.1016/0890-5401(91)90052-4.
  17. Dominic Orchard, Max Bolingbroke & Alan Mycroft (2010): Ypnos: Declarative, Parallel Structured Grid Programming. In: Proceedings of DAMP 2010, pp. 15–24, doi:10.1145/1708046.1708053.
  18. Dominic A. Orchard & Tom Schrijvers (2010): Haskell Type Constraints Unleashed. In: Proceedings of FLOPS 2010, pp. 56–71, doi:10.1007/978-3-642-12251-4_6.
  19. Tomas Petricek, Alan Mycroft & Don Syme: Extending Monads with Pattern Matching. In: Proceedings of Haskell Symposium, Haskell 2011, doi:10.1145/2096148.2034677.
  20. Tomas Petricek & Don Syme (2011): Joinads: A Retargetable Control-Flow Construct for Reactive, Parallel and Concurrent Programming. In: Proceedings of PADL 2011, doi:10.1007/978-3-642-18378-2_17.
  21. S. Purushothaman & Jill Seaman (1992): An Adequate Operational Semantics for Sharing in Lazy Evaluation. In: Proceedings of the 4th European Symposium on Programming, doi:10.1007/3-540-55253-7_26.
  22. Josef Svenningsson (2011): The STMonadTrans package. Available at
  23. Tarmo Uustalu & Varmo Vene (2006): The Essence of Dataflow Programming. Lecture Notes in Computer Science 4164, pp. 135–167, doi:10.1007/11894100_5.
  24. Tarmo Uustalu & Varmo Vene (2008): Comonadic Notions of Computation. Electron. Notes Theor. Comput. Sci. 203, pp. 263–284, doi:10.1016/j.entcs.2008.05.029.
  25. Janis Voigtländer (2009): Free Theorems Involving Type Constructor Classes: Functional Pearl. In: Proceedings of ICFP 2009, ICFP 209. ACM, New York, NY, USA, pp. 173–184, doi:10.1145/1596550.1596577.
  26. Philip Wadler (1990): Comprehending Monads. In: Proceedings of Conference on LISP and Functional Programming, LFP 1990. ACM, New York, NY, USA, pp. 61–78, doi:10.1145/91556.91592.
  27. Philip Wadler (2003): Call-By-Value Is Dual to Call-By-Name. In: Proceedings of ICFP, ICFP 2003, pp. 189–201, doi:10.1145/944705.944723.

Comments and questions to:
For website issues: