[Haskell-cafe] Martin Odersky on "What's wrong with Monads"
chris at chrisdornan.com
Mon Jun 25 08:55:56 CEST 2012
On 24 June 2012 22:38, Tony Morris <tonymorris at gmail.com> wrote:
> Odersky is repeatedly wrong on this subject and specifically for the claim
> that you quote, the only response is simply "not true."
My point is this.
1. The monadic approach to effects reifies functions into those that are
'pure' and those that perform I/O -- you can tell which is which from the
2. If you discover deep inside a function that you need after all to
perform some I/O then the type of the function changes, and the type of
everything that uses it changes, all the way back to the I/O trunk. The way
these changed parts fit together changes radically. There is here an
in-built instability here that is not *in itself* desirable.
3. To compare, if you suddenly find you need to use a sin function
deeply in a package providing pure trigonometric functions you don't have
to rebuild everything. Likewise, if I discover I need to copy a file in an
I/O system then this is not a big deal. Discovering (in Haskell) that you
need to perfrom I/O somewhere that you thought didn't need to perform I/O
is not like this.
4. This instability, is in itself regretable I think. I think it is
regreatble in the way that having to debug code is regretable, or having to
write code at all is regreatable (why doesn't it write itself?). Its the
cost of doing business.
Of couse Martin Odersky may have meant something else but this is the only
way I can make sense of it.
Making sense of part of what is being said and agreeing with it are quite
different -- never mind agreeing with the wider point.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe