Fw: [Haskell-cafe] Re: do

Thomas Hartman thomas.hartman at db.com
Mon Dec 3 20:12:34 EST 2007

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.


"Dan Piponi" <dpiponi at gmail.com> 
Sent by: haskell-cafe-bounces at haskell.org
12/03/2007 07:19 PM

haskell-cafe at haskell.org

Re: [Haskell-cafe] Re: do

On Dec 3, 2007 3:54 PM, Ben Franksen <ben.franksen at online.de> wrote:

> I don't buy this. As has been noted by others before, IO is a very 
> 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 

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.
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20071203/cc052560/attachment.htm

More information about the Haskell-Cafe mailing list