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.