Hi Ben, I think we often get the impression that functional programming is directly connected to monads, but in practical terms the important concepts are pure functions and persistent immutable datastructures. The learning curve when coming from an imperative language, lies (for me at least) mostly in avoiding looping/mutation and thinking in terms of purely functional constructs and sequences. The surprising thing is, that 99% of your code then turns out to be immutable and where you would normally introduce state, you now don't have to. There are of course things like I/O which are inherently stateful.
So long story short, read anyone of the many interesting blog posts floating around on how to tackle real world problems using idiomatic Clojure and you should be able to quickly grasp the jargon and terminology. In my opinion you can entirely dismiss monads for the first year or so of your Clojure experience. If I'm over simplifying, feel free to correct me :) Lau On 17 Mar., 13:28, Ben Armstrong <synerg...@gmail.com> wrote: > I am new to clojure and functional programming, but not to programming > in general, having been in the profession for a quarter of a century. > I'm trying to stretch myself a bit by learning clojure, but some of the > threads here go beyond mere stretching to verge on head-exploding. In > my offline reading of this list this morning, I tried using the tools > available to me at the time (dict client and a few dictionaries like > foldoc) to make sense of words like: http://foldoc.org/monad. I > survived to write this post, but only barely. > > What I would like to have is some sort of lexicon to at least help > explain the terminology in a way that doesn't require three years of > academic exposure to functional programming to read. Is there such a > reference? Or should I just ignore threads like "Why do functions in > the state monad only accept one value?" and be happy that at least > somebody cares about this stuff, so that I don't have to? > > Ben -- 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