It took me forever to get comfortable with monads.

I think it helps if you've seen continuations, or done FP before, or a 
variety of things that build familiarity.

But probably the only thing that I think will work for the masses of 
plodders (there are always a few stars to crash the curve) is a desire to 
learn and tons of practice.

I wouldn't worry so much about the ideal way to introduce the material.

Oh, one other thing. You learn monads when you need them. You need IO 
right away... well, after you tired of playing with pure functions in the 
ghci sandbox.

my 2c.

t.






"Dan Piponi" <[EMAIL PROTECTED]> 
Sent by: [EMAIL PROTECTED]
12/03/2007 07:19 PM

To
haskell-cafe@haskell.org
cc

Subject
Re: [Haskell-cafe] Re: do






On Dec 3, 2007 3:54 PM, Ben Franksen <[EMAIL PROTECTED]> wrote:

> I don't buy this. As has been noted by others before, IO is a very 
special
> case, in that it can't be defined in Haskell itself, and there is no
> evaluation function runIO :: IO a -> a.

I'm not sure what a function of type m a -> a has to do with the
concept of a monad. And I don't really see what the problem is with
the IO monad not being definable in (pure) Haskell. IO exposes the
same interface as every other Monad, and you need to use that
interface to get visible results. So people have to learn it whatever.
And the whole point of the Monad is that it's an interface, not a
specific implementation.

> I'd rather use a simple example like Maybe (modeling failure as an 
effect).

And I'd like to see more people getting off the ground doing
interesting stuff with Haskell before their attention spans for
pointless-seeming new stuff run out. I'm not talking about the
smartest people in computer science courses here. I'm talking about
the millions of people writing everyday Python and Ruby scripts, say,
who might benefit from a more expressive, type-safe, well-thought out,
fast and compiled language.
--
Dan
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



---

This e-mail may contain confidential and/or privileged information. If you 
are not the intended recipient (or have received this e-mail in error) 
please notify the sender immediately and destroy this e-mail. Any 
unauthorized copying, disclosure or distribution of the material in this 
e-mail is strictly forbidden.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to