On 15 Jan 2009, at 16:34, John Goerzen wrote:
Hi folks,
Don Stewart noticed this blog post on Haskell by Brian Hurt, an OCaml
hacker:
http://enfranchisedmind.com/blog/2009/01/15/random-thoughts-on-
haskell/
It's a great post, and I encourage people to read it. I'd like to
highlight one particular paragraph:
[snip]
Sorry, I'm not going to refer to that paragraph, instead, I'm going to
point out how depressing it is, that the message we're getting across
to new haskellers is that "Monads, and variations on monads and
extensions to monads and operations on monads are the primary way
Haskell combines code-". We have loads of beautiful ways of combining
code (not least ofc, simple application), why is it than Monad is
getting singled out as the one that we must use for everything?
My personal suspicion on this one is that Monad is the one that makes
concessions to imperative programmers, by on of its main combinators
(>>=) having the type (>>=) :: (Monad m) => m a -> (a -> m b) -> m b,
and not the much nicer type (>>=) :: (Monad m) => (a -> m b) -> (m a -
> m b).
Bob
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe