I spent a lot of time trying to understand monads in Haskell, which led to
reading Category Theory. It's an alluring subject and one can spend a lot
time following the concepts and terminology. But, the good news is that, one
doesn't need an advanced degree in math to appreciate monads in FP. A really
helpful paper that explains the motivation for Monads is this:
http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf

As others have mentioned, Haskell is heavy in its use of monads and  many
other  algebraic structures. I don't know why the two languages feel so
different with respect to the level of formalism you need to use them. But,
Haskell is one of the most mind bending programming language there and well
worth the study.

Praki
On Wed, Mar 17, 2010 at 5:16 PM, Ben Armstrong <synerg...@gmail.com> wrote:

> On 17/03/10 04:54 PM, David Nolen wrote:
>
>> To me the beauty of Clojure isn't that you _don't_ need a strong academic
>> background or even much exposure to FP to approach the language. Clojure is
>> relatively free of FP jargon, instead we have "Rich Hickey Jargon". I jest
>> :)
>>
>
> Very good.  And so far, my experience has borne this out.  It is
> approachable, elegant, immediately usable.  It's just that I am curious, so
> I would like to be able to have at least a basic idea of what these other
> conversations are about, even if I can't entirely follow every argument.
>
>  But seriously, in my personal opinion Monads are relatively useless in the
>> context of Clojure. They are necessary in pure FP languages like Haskell
>> because otherwise it's impossible get any real applications written. This is
>> not to say they are not useful, you just don't need to know a damn thing
>> about them to have fun in Clojure.
>>
>
> OK.  That puts it a bit more in perspective.  Also, once I was online
> again, I reached for Wikipedia to see if I could find an article written to
> be understood by those outside the field.  Actually, the first two
> paragraphs here were helpful to get at least a basic grasp of what Monads
> are about:
>
> http://en.wikipedia.org/wiki/Monad_(functional_programming)<http://en.wikipedia.org/wiki/Monad_%28functional_programming%29>
>
> The overview here is certainly more readable than the foldoc entry I read,
> and it, in turn links to a page on monad as used in category theory which
> is, I am sure, readable by mathematicians, but which again left me
> scratching my head just as the foldoc entry had.  So I guess it's not so
> much FP that I find hard to grok as it is the math from which it has
> borrowed some terminology.
>
>  Having hacked on Clojure for a a year and half now I think the best
>> approach is to learn those aspects of Clojure that are most useful to you.
>> You certainly don't need to pick up everything at once. I still don't
>> completely grok deftype/protocols or the more involved concurrency
>> constructs. This hasn't stopped me from writing many useful programs.
>>
>
> Most useful to me, or at least most interesting ...  I can't say that at
> this point I can see where I'm going to use this.  But it certainly *is*
> intriguing ... including the bits that right now are a hard to follow at
> least in part due to the unfamiliar terms.
>
>  If you _do_ want to get deeper in Clojure's philosophy you can't beat Rich
>> Hickey's Amazon Bookshelf.
>>
>
> I'm not sure at this point how deep I want to go.  Nice resource, though.
>
> 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<clojure%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
>



-- 
http://www.google.com/profiles/praki.prakash

-- 
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

Reply via email to