[Haskell-cafe] Martin Odersky on "What's wrong with Monads"

Chris Dornan 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
   type.
   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.

Chris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120625/0888e049/attachment.htm>


More information about the Haskell-Cafe mailing list