On 18 March 2010 20:56, Ben Armstrong <synerg...@gmail.com> wrote:
> On 18/03/10 06:57 AM, Michael Kohl wrote:
>> There's a really nice article series on monads in Clojure:
>> http://onclojure.com/2009/03/05/a-monad-tutorial-for-clojure-programmers-part-1/
> Oh, wow!  Lucidly written.  And it gives me something, maybe-m, that I can't
> believe I got along without before.  I'm eager now to continue with part 2

Agreed. :-)

Well, I almost gave in to an urge to go on musing about FP in general,
but I decided to suppress it for now and to post instead my own short
bibliography of monad-related Web resources. Clojure-based stuff comes
first, though I'm also including two Haskell links of particular
interest. Michael has already mentioned Konrad's tutorial, but it is
still included below so that I can use this posting as a
self-contained reference.

Clearly it is true that there is no need to learn about monads to
programme in Clojure (and to be productive and have fun while doing
so), but they do make for a very interesting approach to structuring
computations, so if one is already curious about them, then one cannot
go wrong with some monadic food for thought. ;-) (The full immersion
programme is run in Haskell, of course, but the Clojure experience is
very enlightening too.)

All the best,
Michał

Monads: A Bibliography
=================

First, the above mentioned tutorial by Konrad Hinsen:

[A Monad Tutorial For Clojure Programmers][1]

The following articles by Jim Duey are also very good (and they do
take a somewhat different approach to Konrad's tutorial, so it's worth
while to read both series):

[Monads in Clojure][2]
[Higher Level Monads][3]
[Why Use Monads][4]
[The Continuation Monad in Clojure][5]
[Sessions for Compojure][6]

There's also a very good Haskell resource on the most frequently used monads:

[All About Monads][7]

The example code is in Haskell, but each monad's section includes some
motivating discussion.

Then there are [Philip Wadler's monad-related papers][8]. IIRC,
"Monads for functional programming" is a bit of a tutorial paper, so
that may be worth skimming.

And just for the pleasure of reading through the numerous displays of
breathtaking FP brilliance collected therein, take a look at [Oleg
Kiselyov's site][9]. The section labelled "Computation" has a
subsection devoted to monads.

[1]: 
http://onclojure.com/2009/03/05/a-monad-tutorial-for-clojure-programmers-part-1/
[2]: http://intensivesystems.net/tutorials/monads_101.html
[3]: http://intensivesystems.net/tutorials/monads_201.html
[4]: http://intensivesystems.net/tutorials/why_monads.html
[5]: http://intensivesystems.net/tutorials/cont_m.html
[6]: http://intensivesystems.net/tutorials/web_sessions.html
[7]: http://www.haskell.org/all_about_monads/html/index.html
[8]: http://homepages.inf.ed.ac.uk/wadler/topics/monads.html
[9]: http://okmij.org/ftp/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

To unsubscribe from this group, send email to 
clojure+unsubscribegooglegroups.com or reply to this email with the words 
"REMOVE ME" as the subject.

Reply via email to