@misc{monad-tutorial-fallacy,
  author = {Brent Yorgey},
  title = {Abstraction, intuition, and the ``monad tutorial fallacy''},
  url = {http://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/}
}

@article{type-classes,
 author = {Hall, Cordelia V. and Hammond, Kevin and Peyton Jones, Simon L. and Wadler, Philip L.},
 title = {Type classes in Haskell},
 journal = {ACM Trans. Program. Lang. Syst.},
 volume = {18},
 number = {2},
 year = {1996},
 issn = {0164-0925},
 pages = {109--138},
 doi = {http://doi.acm.org/10.1145/227699.227700},
 publisher = {ACM},
 address = {New York, NY, USA},
 }

@inproceedings{lazy-with-class,
 author = {Hudak,, Paul and Hughes,, John and Jones,, Simon Peyton and Wadler,, Philip},
 title = {A history of Haskell: being lazy with class},
 booktitle = {HOPL III: Proceedings of the third ACM SIGPLAN conference on History of programming languages},
 year = {2007},
 isbn = {978-1-59593-766-X},
 pages = {12-1--12-55},
 location = {San Diego, California},
 doi = {http://doi.acm.org/10.1145/1238844.1238856},
 publisher = {ACM},
 address = {New York, NY, USA},
 }

@INPROCEEDINGS{Jones97typeclasses,
    author = {Simon Peyton Jones and Mark Jones and Erik Meijer},
    title = {Type classes: an exploration of the design space},
    booktitle = {Proceedings of the 1997 Haskell Workshop},
    year = {1997},
    publisher = {ACM}
}

@article{haskell-report,
  title = {Haskell 98 Language and Libraries Revised Report},
  author = {Simon Peyton Jones (ed.)},
  journal = {J. Funct. Program.},
  volume = {13},
  number = {1},
  year = {2003},
  publisher = {Cambridge University Press},
  address = {New York, NY, USA},
  url = {http://haskell.org/onlinereport/}
}


@misc{functor-docs,
  title = {Functor documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#t\%3AFunctor}
}

@misc{wikibook-ct,
  title = {Haskell wikibook: {C}ategory theory},
  url = {http://en.wikibooks.org/wiki/Haskell/Category_theory}
}

@misc{category-extras,
  author = {Edward A. Kmett and Dave Menendez and Iavor Diatchki},
  title = {The category-extras library},
  url = {http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras}
}

@inproceedings{wadler89free,
 author = {Philip Wadler},
 title = {Theorems for free!},
 booktitle = {FPCA '89: Proceedings of the fourth international conference on functional programming languages and computer architecture},
 year = {1989},
 isbn = {0-89791-328-0},
 pages = {347--359},
 location = {Imperial College, London, United Kingdom},
 doi = {http://doi.acm.org/10.1145/99370.99404},
 publisher = {ACM},
 address = {New York, NY, USA},
 }

@misc{applicative-docs,
  title = {Applicative documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Applicative.html}
}

@article{mcbride08applicative,
  author = {Conor McBride and Ross Paterson},
  title = {Applicative programming with effects},
  journal = {J. Funct. Program.},
  volume = {18},
  number = {1},
  year = {2008},
  issn = {0956-7968},
  pages = {1--13},
  doi = {http://dx.doi.org/10.1017/S0956796807006326},
  publisher = {Cambridge University Press},
  address = {New York, NY, USA},
  url = {http://www.soi.city.ac.uk/~ross/papers/Applicative.html}
}

@misc{wikibook-applicative,
  title = {Haskell wikibook: {A}pplicative functors},
  url = {http://en.wikibooks.org/wiki/Haskell/Applicative_Functors}
}

@misc{conal-blog-applicative,
  author = {Conal Elliott},
  title = {Posts with tag ``applicative-functor''},
  url = {http://conal.net/blog/tag/applicative-functor}
}

@InCollection{Elliott03:FOP,
  author       = {Conal Elliott},
  editor       = {Jeremy Gibbons and Oege de Moor},
  title        = {{Functional Images}},
  url          = {http://conal.net/papers/functional-images/},
  booktitle    = {The Fun of Programming},
  publisher    = {Palgrave},
  year         = 2003,
  series       = {``Cornerstones of Computing'' series},
  month        = mar
}

@techreport{Elliott08:FRP,
  author = {Conal Elliott},
  title = {Simply efficient functional reactivity},
  url = {http://conal.net/papers/simply-reactive/},
  institution = {Lambda{P}ix},
  number = {2008-01},
  year = 2008
}

@techreport{leijen01parsec,
  author = {Daan Leijen and Erik Meijer},
  title = {Parsec: Direct Style Monadic Parser Combinators for the Real World},
  institution = {Departement of Computer Science, Universiteit Utrecht},
  type = {Technical Report},
  number = {UU-CS-2001-35},
  year = {2001},
  url = {http://legacy.cs.uu.nl/daan/download/papers/parsec-paper.pdf}
}

@misc{parsec,
  author = {Daan Leijen},
  title = {Parsec},
  url = {http://legacy.cs.uu.nl/daan/parsec.html}
}

@misc{bos08applicative,
  author = {Bryan O'Sullivan},
  title = {The basics of applicative functors, put to practical work},
  url = {http://www.serpentine.com/blog/2008/02/06/the-basics-of-applicative-functors-put-to-practical-work/}
}

@misc{done09config-hsql,
  author = {Chris Done},
  title = {Applicative and {C}onfig{F}ile, {HSQL}},
  url = {http://chrisdone.com/blog/html/2009-02-10-applicative-configfile-hsql.html}
}

@techreport{CLWY08idiomsguide,
  title = {An idiom's guide to formlets},
  author = {Ezra Cooper and Sam Lindley and Philip Wadler and Jeremy Yallop},
  institution = {University of Edinburgh},
  year = {2008},
  url = {http://groups.inf.ed.ac.uk/links/formlets/}
}

@inproceedings{wadler85successes,
 author = {Philip Wadler},
 title = {How to replace failure by a list of successes},
 booktitle = {Proc. of a conference on Functional programming languages and computer architecture},
 year = {1985},
 isbn = {3-387-15975-4},
 pages = {113--128},
 location = {Nancy, France},
 publisher = {Springer-Verlag New York, Inc.},
 address = {New York, NY, USA},
}

@misc{monad-docs,
  title = {Monad documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#9}
}

@misc{identity-docs,
  title = {Identity documentation},
  url = {http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/doc/html/Control-Monad-Identity.html}
}

@misc{piponi-07-trivial-monad,
  author = {Dan Piponi},
  title = {{The Trivial Monad}},
  url = {http://blog.sigfpe.com/2007/04/trivial-monad.html}
}

@misc{mtl,
  title = {{The monad transformer library (mtl)}},
  url = {http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mtl}
}

@misc{reader-docs,
  title = {{Control.Monad.Reader documentation}},
  url = {http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/doc/html/Control-Monad-Reader.html}
}

@misc{writer-docs,
  title = {{Control.Monad.Writer documentation}},
  url = {http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/doc/html/Control-Monad-Writer-Lazy.html}
}

@misc{state-docs,
  title = {{Control.Monad.State documentation}},
  url = {http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/doc/html/Control-Monad-State-Lazy.html}
}

@misc{cont-docs,
  title = {{Control.Monad.Cont documentation}},
  url = {http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/doc/html/Control-Monad-Cont.html}
}

@misc{error-docs,
  title = {{Control.Monad.Error documentation}},
  url = {http://hackage.haskell.org/packages/archive/mtl/1.1.0.2/doc/html/Control-Monad-Error.html}
}

@misc{control-monad-docs,
  title = {{Control.Monad documentation}},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Monad.html}
}

@misc{IfElse,
  title = {{The IfElse package}},
  author = {Jeff Heard and Wren Thornton},
  url = {http://hackage.haskell.org/cgi-bin/hackage-scripts/package/IfElse}
}

@misc{monad-laws,
  title = {Monad laws},
  url = {http://haskell.org/haskellwiki/Monad_laws}
}

@Unpublished{grabmueller-06-step-by-step,
  author =	 {Martin Grabm{\"u}ller},
  title =	 {{Monad Transformers Step by Step}},
  note =	 {Draft paper},
  month =	 {October},
  year =	 2006,
  abstract =	 {In this tutorial, we describe how to use monad
                  transformers in order to incrementally add
                  functionality to Haskell programs. It is not a paper
                  about implementing transformers, but about using
                  them to write elegant, clean and powerful programs
                  in Haskell. Starting from an evaluation function for
                  simple expressions, we convert it to monadic style
                  and incrementally add error handling, environment
                  passing, state, logging and input/output by
                  composing monad transformers.},
  url = {http://user.cs.tu-berlin.de/~magr/pub/Transformers.en.html}
}

@misc{gibbard-monad-trans,
  author = {Cale Gibbard},
  title = {{How To Use Monad Transformers}},
  url = {http://cale.yi.org/index.php/How_To_Use_Monad_Transformers}
} 

@inproceedings{jones-95-fp,
  author = {Jones,, Mark P.},
  title = {Functional Programming with Overloading and Higher-Order Polymorphism},
  booktitle = {Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text},
  year = {1995},
  isbn = {3-540-59451-5},
  pages = {97--136},
  publisher = {Springer-Verlag},
  address = {London, UK},
  url = {http://web.cecs.pdx.edu/~mpj/pubs/springschool.html}
}

@inproceedings{wadler-92-essence,
  author = {Wadler,, Philip},
  title = {The essence of functional programming},
  booktitle = {POPL '92: Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
  year = {1992},
  isbn = {0-89791-453-8},
  pages = {1--14},
  location = {Albuquerque, New Mexico, United States},
  doi = {http://doi.acm.org/10.1145/143165.143169},
  publisher = {ACM},
  address = {New York, NY, USA},
  url = {http://homepages.inf.ed.ac.uk/wadler/topics/monads.html}
}

@misc{do-considered-harmful,
  title = {Do notation considered harmful},
  url = {http://haskell.org/haskellwiki/Do_notation_considered_harmful}
}

@misc{ekidd-07-data-set-monad,
  author = {Eric Kidd},
  title = {{How to make Data.Set a monad}},
  url = {http://www.randomhacks.net/articles/2007/03/15/data-set-monad-haskell-macros}
}

@misc{sittampalam-rmonad,
  author = {Ganesh Sittampalam and Peter Gavin},
  title = {The rmonad library},
  url = {http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rmonad}
}

@misc{piponi-monoid-monad,
  author = {Dan Piponi},
  title = {{From Monoids to Monads}},
  url = {http://blog.sigfpe.com/2008/11/from-monoids-to-monads.html}
}

@misc{dominus-triples-closure,
  author = {Mark Dominus},
  title = {{Triples and Closure}},
  url = {http://blog.plover.com/math/monad-closure.html}
}

@misc{vanTuyl-monad-tour,
  author = {Henk-Jan van Tuyl},
  title = {{A tour of the Haskell Monad functions}},
  url = {http://members.chello.nl/hjgtuyl/tourdemonad.html}
}

@misc{newsham-whats-a-monad,
  author = {Tim Newsham},
  title = {{What's a Monad?}},
  url = {http://www.thenewsh.com/~newsham/haskell/monad.html}
}

@misc{wiki-monad-blog-articles,
  title = {{Blog articles/Monads}},
  url = {http://haskell.org/haskellwiki/Blog_articles/Monads}
}

@misc{newbern-all-about-monads,
  author = {Jeff Newbern},
  title = {{All About Monads}},
  url = {http://www.haskell.org/all_about_monads/html/}
}

@misc{gibbard-monads-as-containers,
  author = {Cale Gibbard},
  title = {{Monads as containers}},
  url = {http://haskell.org/haskellwiki/Monads_as_Containers}
}

@misc{practical-monads,
  author = {Richard Smith},
  title = {{Practical Monads}},
  url = {http://metafoo.co.uk/practical-monads.txt}
}

@misc{kow-understanding-monads,
  author = {Eric Kow},
  title = {{Understanding monads}},
  url = {http://en.wikibooks.org/w/index.php?title=Haskell/Understanding_monads&oldid=933545}
}

@misc{rossato-monadic-way,
  author = {Andrea Rossato},
  title = {{The Monadic Way}},
  url = {http://haskell.org/haskellwiki/The_Monadic_Way}
}

@misc{piponi-you-could-have-invented,
  author = {Dan Piponi},
  title = {{You Could Have Invented Monads! (And Maybe You Already Have.)}},
  url = {http://blog.sigfpe.com/2006/08/you-could-have-invented-monads-and.html}
}

@misc{monad-tutorial-timeline,
  title = {Monad tutorials timeline},
  url = {http://haskell.org/haskellwiki/Monad_tutorials_timeline}
}

@misc{pimlott-monster,
  author = {Andrew Pimlott},
  title = {{there's a monster in my Haskell!}},
  url = {http://www.haskell.org/pipermail/haskell-cafe/2006-November/019190.html}
}

@misc{dons-kow-think-of-a-monad,
  author = {{Don Stewart and Eric Kow}},
  title = {{think of a monad...}},
  url = {http://koweycode.blogspot.com/2007/01/think-of-monad.html}
}

@misc{gordon-tutorials-awful,
  author = {C. S. Gordon},
  title = {{Monads! (and Why Monad Tutorials Are All Awful)}},
  url = {http://ahamsandwich.wordpress.com/2007/07/26/monads-and-why-monad-tutorials-are-all-awful/}
}

@misc{wagner-understanding-monads,
  author = {Karsten Wagner},
  title = {{Understanding Monads. For real.}},
  url = {http://kawagner.blogspot.com/2007/02/understanding-monads-for-real.html}
}

@misc{kidd-monads-15-minutes,
  author = {Eric Kidd},
  title = {{Monads in 15 minutes: Backtracking and Maybe}},
  url = {http://www.randomhacks.net/articles/2007/03/12/monads-in-15-minutes}
}

@misc{gibbard-monads-as-computation,
  author = {Cale Gibbard},
  title = {{Monads as computation}},
  url = {http://haskell.org/haskellwiki/Monads_as_computation}
}

@misc{intro-to-IO,
  author = {Cale Gibbard},
  title = {{Introduction to IO}},
  url = {http://www.haskell.org/haskellwiki/Introduction_to_IO}
}

@misc{piponi-field-guide,
  author = {Dan Piponi},
  title = {{Monads, a Field Guide}},
  url = {http://blog.sigfpe.com/2006/10/monads-field-guide.html}
}

@article{elkins-calculating-monads,
  author = {Derek Elkins},
  title = {Calculating Monads with Category Theory},
  journal = {The Monad.Reader},
  number = {13},
  year = {2009}
}

@article{atkey-parameterised,
  author = {Robert Atkey},
  title = {{Parameterised Notions of Computation}},
  journal = {J. Funct. Prog.},
  year = {2008},
  url = {http://homepages.inf.ed.ac.uk/ratkey/paramnotions-jfp.pdf}
}

@misc{piponi-beyond-monads,
  author = {Dan Piponi},
  title = {{Beyond Monads}},
  url = {http://blog.sigfpe.com/2009/02/beyond-monads.html}
}

@misc{piponi-grok-transformers,
  author = {Dan Piponi},
  title = {{Grok Haskell Monad Transformers}},
  url = {http://blog.sigfpe.com/2006/05/grok-haskell-monad-transformers.html}
}

@article{luth-ghani-monad-coproducts,
  author = {L\"{u}th,, Christoph and Ghani,, Neil},
  title = {Composing monads using coproducts},
  journal = {SIGPLAN Not.},
  volume = {37},
  number = {9},
  year = {2002},
  issn = {0362-1340},
  pages = {133--144},
  doi = {http://doi.acm.org/10.1145/583852.581492},
  publisher = {ACM},
  address = {New York, NY, USA},
}

@phdthesis{erkok-monadfix,
  author = {Erkok,, Levent},
  note = {Adviser-Launchbury,, John},
  title = {Value recursion in monadic computations},
  year = {2002},
  isbn = {0-493-82294-1},
  order_no = {AAI3063791},
  publisher = {Oregon Health \& Science University},
}

@misc{piponi-mother-of-monads,
  author = {Dan Piponi},
  title = {{The Mother of all Monads}},
  url = {http://blog.sigfpe.com/2008/12/mother-of-all-monads.html}
}

@misc{TypeCompose,
  title = {The {T}ype{C}ompose library},
  author = {Conal Elliott},
  url = {http://haskell.org/haskellwiki/TypeCompose}
}

@misc{monoid-docs,
  title = {Monoid documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Data-Monoid.html}
}

@misc{swierstra-monoid-pointfree,
  title = {Reply to {``Looking for pointfree version''}},
  author = {Wouter Swierstra},
  url = {http://thread.gmane.org/gmane.comp.lang.haskell.cafe/52416}
}

@misc{alternative-docs,
  title = {Alternative documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Applicative.html#2}
}

@misc{monadplus-docs,
  title = {Monad{P}lus documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Monad.html#t\%3AMonadPlus}
}

@misc{arrowplus-docs,
  title = {{ArrowZero and ArrowPlus documentation}},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Arrow.html#t%3AArrowZero}
}

@misc{yorgey08partial-knowledge,
  author = {Brent Yorgey},
  title = {Collecting unstructured information with the monoid of partial knowledge},
  url = {http://byorgey.wordpress.com/2008/04/17/collecting-unstructured-information-with-the-monoid-of-partial-knowledge/}
}

@misc{gibbard08monoids-reddit,
  author = {Cale Gibbard},
  title = {Comment on {``Monoids? In my programming language?''}},
  url = {http://www.reddit.com/r/programming/comments/7cf4r/monoids_in_my_programming_language/c06adnx}
}

@misc{hurt-random-thoughts,
  author = {Brian Hurt},
  title = {Random thoughts on Haskell},
  url = {http://enfranchisedmind.com/blog/2009/01/15/random-thoughts-on-haskell/}
}

@misc{brian-hurt-discussion,
  title = {haskell-cafe thread: {Comments from OCaml Hacker Brian Hurt}},
  url = {http://thread.gmane.org/gmane.comp.lang.haskell.cafe/50590}
}

@misc{piponi-monoids-uses,
  author = {Dan Piponi},
  title = {Haskell {M}onoids and their {U}ses},
  url = {http://blog.sigfpe.com/2009/01/haskell-monoids-and-their-uses.html}
}

@misc{apfelmus-finger-trees,
  author = {Heinrich Apfelmus},
  title = {Monoids and {F}inger {T}rees},
  url = {http://apfelmus.nfshost.com/monoid-fingertree.html}
}

@article{hinze-paterson-06-finger-trees,
  author = {Hinze, Ralf and Paterson, Ross},
  title = {Finger trees: a simple general-purpose data structure},
  journal = {J. Funct. Program.},
  volume = {16},
  number = {2},
  year = {2006},
  issn = {0956-7968},
  pages = {197--217},
  doi = {http://dx.doi.org/10.1017/S0956796805005769},
  publisher = {Cambridge University Press},
  address = {New York, NY, USA},
  url = {http://www.soi.city.ac.uk/%7Eross/papers/FingerTree.html}
}

@misc{piponi-incremental-regex,
  author = {Dan Piponi},
  title = {Fast incremental regular expression matching with monoids},
  url = {http://blog.sigfpe.com/2009/01/fast-incremental-regular-expression.html}
}

@misc{piponi-beyond-regex,
  author = {Dan Piponi},
  title = {{Beyond Regular Expressions: More Incremental String Matching}},
  url = {http://blog.sigfpe.com/2009/01/beyond-regular-expressions-more.html}
}

@article{place08refold-map,
  author = {David F. Place},
  title = {{How to Refold a Map}},
  journal = {The Monad.Reader},
  number = {11},
  year = {2008},
  month = aug,
  pages = {5--14},
  url = {http://www.haskell.org/sitewiki/images/6/6a/TMR-Issue11.pdf}
}

@misc{shan-wordnumbers-1,
  author = {Chung-Chieh Shan and Dylan Thurston},
  title = {Word numbers, Part 1: Billion approaches},
  url = {http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WordNumbers1/}
}

@misc{shan-wordnumbers-2,
  author = {Chung-Chieh Shan and Dylan Thurston},
  title = {Word numbers, Part 2},
  url = {http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WordNumbers2/}
}

@misc{shan-wordnumbers-3,
  author = {Chung-Chieh Shan and Dylan Thurston},
  title = {Word numbers, Part 3: Binary search},
  url = {http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WordNumbers3/}
}

@misc{shan-wordnumbers-4,
  author = {Chung-Chieh Shan and Dylan Thurston},
  title = {Word numbers, Part 4: Sort the words, sum the numbers},
  url = {http://conway.rutgers.edu/~ccshan/wiki/blog/posts/WordNumbers4/}
}

@article{auclair08monadplus,
  author = {Douglas M. Auclair},
  title = {{MonadPlus: What a Super Monad!}},
  journal = {The Monad.Reader},
  number = {11},
  year = {2008},
  month = aug,
  pages = {39--48},
  url = {http://www.haskell.org/sitewiki/images/6/6a/TMR-Issue11.pdf}
}

@misc{monad-plus-reform,
  title = {Monad{P}lus reform proposal},
  url = {http://www.haskell.org/haskellwiki/MonadPlus_reform_proposal}
}

@misc{foldable-docs,
  title = {Foldable documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Data-Foldable.html}
}

@inproceedings{voigtlaender-09-bidirectionalization,
  author = {Voigtl\"{a}nder,, Janis},
  title = {Bidirectionalization for free! (Pearl)},
  booktitle = {POPL '09: Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages},
  year = {2009},
  isbn = {978-1-60558-379-2},
  pages = {165--176},
  location = {Savannah, GA, USA},
  doi = {http://doi.acm.org/10.1145/1480881.1480904},
  publisher = {ACM},
  address = {New York, NY, USA},
}

@misc{containers-library,
  title = {The containers library},
  url = {http://hackage.haskell.org/packages/archive/containers/0.2.0.0/doc/html/index.html}
}

@misc{traversable-docs,
  title = {Traversable documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Data-Traversable.html}
}

@ARTICLE{gibbons-07-iterator,
  author = {Jeremy Gibbons and Bruno C. d. S. Oliveira},
  title = {The Essence of the {I}terator Pattern},
  journal = {Submitted for publication},
  year = {2007},
  url = {http://www.comlab.ox.ac.uk/jeremy.gibbons/publications/iterator.pdf}
}

@misc{category-docs,
  title = {Category documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Category.html}
}

@book{pierce-91-ct,
  author = {Pierce,, Benjamin C.},
  title = {Basic category theory for computer scientists},
  year = {1991},
  isbn = {0-262-66071-7},
  publisher = {MIT Press},
  address = {Cambridge, MA, USA},
}

@inproceedings{barr-wells-ct,
  author = {Michael Barr and Charles Wells},
  year = {1999},
  title = {{Category Theory}},
  url = {http://folli.loria.fr/cds/1999/esslli99/courses/barr-wells.html},
  booktitle = {Lecture Notes of the 11th European Summer School in Logic, Language and Information (ESSLLI)},
  publisher = {Utrecht University}
}

@book{awodey-06-ct,
  author = {Steve Awodey},
  title = {{Category Theory}},
  year = 2006,
  publisher = {Clarendon Press}
}

@misc{russell-motivating-ct,
  author = {Benjamin Russell},
  title = {{Motivating Category Theory for Haskell for Non-mathematicians}},
  url = {http://dekudekuplex.wordpress.com/2009/01/19/motivating-learning-category-theory-for-non-mathematicians/}
}

@misc{arrow-docs,
  title = {Arrow documentation},
  url = {http://haskell.org/ghc/docs/latest/html/libraries/base/Control-Arrow.html}
}

@misc{arrow-page,
  author = {Ross Paterson},
  title = {Arrows: A General Interface to Computation},
  url = {http://www.haskell.org/arrows/}
}

@article{hughes-00-generalising,
  author = {Hughes,, John},
  title = {Generalising monads to arrows},
  journal = {Sci. Comput. Program.},
  volume = {37},
  number = {1-3},
  year = {2000},
  issn = {0167-6423},
  pages = {67--111},
  doi = {http://dx.doi.org/10.1016/S0167-6423(99)00023-4},
  publisher = {Elsevier North-Holland, Inc.},
  address = {Amsterdam, The Netherlands, The Netherlands},
}

@inproceedings{alimarine-05-biarrows,
  author = {Alimarine,, Artem and Smetsers,, Sjaak and van Weelden,, Arjen and van Eekelen,, Marko and Plasmeijer,, Rinus},
  title = {There and back again: arrows for invertible programming},
  booktitle = {Haskell '05: Proceedings of the 2005 ACM SIGPLAN workshop on Haskell},
  year = {2005},
  isbn = {1-59593-071-X},
  pages = {86--97},
  location = {Tallinn, Estonia},
  doi = {http://doi.acm.org/10.1145/1088348.1088357},
  publisher = {ACM},
  address = {New York, NY, USA},
}

@inproceedings{paterson-01-arrow-notation,
  author = {Paterson,, Ross},
  title = {A new notation for arrows},
  booktitle = {ICFP '01: Proceedings of the sixth ACM SIGPLAN international conference on Functional programming},
  year = {2001},
  isbn = {1-58113-415-0},
  pages = {229--240},
  location = {Florence, Italy},
  doi = {http://doi.acm.org/10.1145/507635.507664},
  publisher = {ACM},
  address = {New York, NY, USA},
}

@InCollection{paterson-03-programming-arrows,
  author       = {Ross Paterson},
  editor       = {Jeremy Gibbons and Oege de Moor},
  title        = {{Programming with Arrows}},
  url          = {http://www.soi.city.ac.uk/~ross/papers/fop.html},
  booktitle    = {The Fun of Programming},
  publisher    = {Palgrave},
  year         = 2003,
  series       = {``Cornerstones of Computing'' series},
  month        = mar,
  pages        = {201--222}
}

@incollection{hughes-05-programming-arrows,
  author = {John Hughes},
  editor = {Varmo Vene and Tarmo Uustalu},
  title = {{Programming with Arrows}},
  booktitle = {5th Internaltional Summer School on Advanced Functional Programming},
  series = {LNCS}, 
  number = {3622}, 
  pages = {73--129},
  publisher = {Springer},
  year = {2005}
}
 
@article{lindley-arrow-calculus,
  author = {Sam Lindley and Philip Wadler and Jeremy Yallop},
  title = {The arrow calculus},
  journal = {Submitted to ICFP},
  year = {2008},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/arrows/arrows.pdf}
}

@inproceedings{lindley-idioms,
  author = {Sam Lindley and Philip Wadler and Jeremy Yallop},
  title = {Idioms are oblivious, arrows are meticulous, monads are promiscuous},
  booktitle = {Proceedings of the workshop on Mathematically Structured Functional Programming (MSFP)},
  year = {2008},
  url = {http://homepages.inf.ed.ac.uk/wadler/papers/arrows-and-idioms/arrows-and-idioms.pdf}
}

@misc{grapefruit,
  title = {Grapefruit},
  author = {Wolfgang Jeltsch},
  url = {http://haskell.org/haskellwiki/Grapefruit}
}

@misc{hxt,
  title = {{Haskell XML Toolbox}},
  url = {http://www.fh-wedel.de/~si/HXmlToolbox/}
}

@misc{yampa,
  title = {{Yampa: Functional Reactive Programming with Arrows}},
  author = {Antony Courtney and Paul Hudak and Henrik Nilsson and John Peterson},
  url = {http://www.haskell.org/yampa/}
}

@misc{monads-arrows-research-papers,
  title = {{Research papers: Monads and Arrows}},
  url = {http://haskell.org/haskellwiki/Research_papers/Monads_and_arrows}
}

@misc{conal-functional-behavior,
  author = {Conal Elliott},
  title = {Functional interactive behavior},
  url = {http://conal.net/blog/posts/functional-interactive-behavior/}
}

@incollection{uutsalu-06-essence,
  booktitle = {{Central European Functional Programming School}},
  title = {{The Essence of Dataflow Programming}},
  pages = {135--167},
  year = {2006},
  author = {Tarmo Uustalu and Varmo Vene}
}

@misc{piponi-automata-comonadic,
  title = {Evaluating cellular automata is comonadic},
  author = {Dan Piponi},
  url = {http://blog.sigfpe.com/2006/12/evaluating-cellular-automata-is.html}
}

@misc{clover-comonads,
  title = {Comonads in everyday life.},
  author = {Sterling Clover},
  url = {http://fmapfixreturn.wordpress.com/2008/07/09/comonads-in-everyday-life/}
}

@incollection{uustalu-dual-substitution,
  author = {Uustalu,, Tarmo and Vene,, Varmo},
  title = {The dual of substitution is redecoration},
  booktitle = {Trends in functional programming},
  year = {2002},
  isbn = {1-84150-070-4},
  pages = {99--110},
  publisher = {Intellect Books},
  address = {Exeter, UK},
}

@article{capretta-recursive-coalgebras,
  author = {Capretta,, Venanzio and Uustalu,, Tarmo and Vene,, Varmo},
  title = {Recursive coalgebras from comonads},
  journal = {Inf. Comput.},
  volume = {204},
  number = {4},
  year = {2006},
  issn = {0890-5401},
  pages = {437--468},
  doi = {http://dx.doi.org/10.1016/j.ic.2005.08.005},
  publisher = {Academic Press, Inc.},
  address = {Duluth, MN, USA}
}

@article{uustalu-recursion-schemes,
  author = {Uustalu,, Tarmo and Vene,, Varmo and Pardo,, Alberto},
  title = {Recursion schemes from comonads},
  journal = {Nordic J. of Computing},
  volume = {8},
  number = {3},
  year = {2001},
  issn = {1236-6064},
  pages = {366--390},
  publisher = {Publishing Association Nordic Journal of Computing}
}

@article{uustalu-comonadic-computation,
  author = {Uustalu,, Tarmo and Vene,, Varmo},
  title = {Comonadic Notions of Computation},
  journal = {Electron. Notes Theor. Comput. Sci.},
  volume = {203},
  number = {5},
  year = {2008},
  issn = {1571-0661},
  pages = {263--284},
  doi = {http://dx.doi.org/10.1016/j.entcs.2008.05.029},
  publisher = {Elsevier Science Publishers B. V.},
  address = {Amsterdam, The Netherlands, The Netherlands},
}

@misc{brent-blog,
  title = {blog :: Brent -> [{S}tring]},
  author = {Brent Yorgey},
  url = {http://byorgey.wordpress.com/}
}

@misc{brent-homepage,
  author = {Brent Yorgey},
  url = {http://www.cis.upenn.edu/~byorgey/}
}

@misc{plclub,
  title = {University of {P}ennsylvania Programming Languages Research Group},
  url = {http://www.cis.upenn.edu/~plclub/}
}