Source

monad / README.txt

Full commit
                   ______  ___                   _________
                   ___   |/  /__________________ ______  /
                   __  /|_/ /_  __ \_  __ \  __ `/  __  /
                   _  /  / / / /_/ /  / / / /_/ // /_/ /
                   /_/  /_/  \____//_/ /_/\__,_/ \__,_/

monad is a small support library for Clojure which provides some of the
infrastructure to handle monads. A monad can be anything, which has meta-data.
The key ::monad defines the type of the actual monad.  This value is used as
the dispatch value for the bind multimethod.  bind is obviously dependent on
the actual monad implementation.

An application of monads are for example the parser combinators. Here the
monads serve as means to combine different parsers together to form new
parsers. An example implementation for Clojure is „Parser“ from the same
author.

-- Meikel Brandmeyer, <mb@kotka.de>
   2008, Frankfurt am Main