[clean-list] Clean in the Real World

Tomasz Zielonka t.zielonka@students.mimuw.edu.pl
Wed, 24 Dec 2003 09:08:48 +0100


On Wed, Dec 24, 2003 at 01:43:29AM +0000, Robin Green wrote:
> On Wed, Dec 24, 2003 at 12:04:53AM +0100, Tomasz Zielonka wrote:
> > 
> > After some getting used to it, Monads are a pleasure to work with. If
> > there is anything in Haskell that gets in my way, it ain't Monads.
> 
> But do you think the average "Visual Basic for Dummies" type of programmer
> could get to grips with it?

Why not? I don't feel qualified to judge who can or can't learn
something.

I think I have acquired quite a good (informal) understanding of monads.
Besides IO monad I often use various other monads also in combination
with monad transformers. I also define my own monad classes and types
achieving increased modularity and even efficiency.

Yet I have _zero_ knowledge about category theory and little formal
preparation in functional programming (I was taught SML in a one
semester course).

My way to learn monads was by small experiments, thinking and use in
small to medium sized programs. 

I paid with a couple day headache for freeing myself from the
mainstream programming language mind-cage. Then about a month before
I got quite comfortable with monads.

So be prepared for hard work, but one that really pays off.

> If so, please point me towards a simple "Monads for Dummies" document.
> I would like to read it. ;-)

I didn't use such a tutorial then, but please try first three links in
section ,,Using Monads'' of http://www.haskell.org/bookshelf

> If not, I will continue to advocate for doing I/O type stuff in
> imperative languages.

I hope you won't :)

Best regards,
Tom

-- 
.signature: Too many levels of symbolic links