Monadic programming is a way to write functional programs. It forms a separate paradigm from classic FunctionalProgramming, because it provides a different way of structuring programs.

Here are some pointers:
* ''"What the hell are Monads?"'' (1999) by NoelWinstanley (http://www.cs.pdx.edu/~antoy/Courses/TPFLP/lectures/MONADS/Noel/research/monads.html)
* ''"Monads for the Working Haskell Programmer -- a short tutorial"'' by TheodoreNorvell (http://www.engr.mun.ca/~theo/Misc/haskell_and_monads.htm)
* ''"All About Monads -- A comprehensive guide to the theory and practice of monadic programming in Haskell"'' (http://www.nomaware.com/monads/html/index.html)
* ''MonadsInRuby'' -- http://moonbase.rydia.net/mental/writings/programming/monads-in-ruby/00introduction.html

A monad is formally defined here: http://wombat.doc.ic.ac.uk/foldoc/foldoc.cgi?monad

In plain terms, a monad is a set of rules that enforce regular behavior but broad enough to allow most computational processes to be expressed as a monad.

The wikipedia entry: http://en.wikipedia.org/wiki/Monads_in_functional_programming
----

See OnMonads and MonadTransformer. Also see ProgrammingParadigm.
----
has BrokenLink''''''s
----
CategoryFunctionalProgramming