On Sat, Aug 14, 2010 at 10:11 PM, Bill Atkins <watk...@alum.rpi.edu> wrote:

> On Saturday Aug 14, 2010, at 12:50 AM, Conal Elliott wrote:
>
> > And the IO monad is what Jerzy asked about.  I'm pointing out that the
> state monad does not capture concurrency, and the "EDSL model" does not
> capture FFI.  (Really, it depends which "EDSL model".  I haven't seen one
> that can capture FFI.  And maybe not concurrency either.)
> >
>
> So which model captures the way the IO monad works?


I don't think anyone has given a denotational (functional-style) model for
the meaning of IO.  As I wrote
elsewhere<http://conal.net/blog/posts/notions-of-purity-in-haskell/#comment-22829>
:

IO carries the collective sins of our tribe, as the scapegoat did among the
ancient Hebrews. Or, as Simon Peyton Jones expressed it, “The IO monad has
become Haskell’s sin-bin. Whenever we don’t understand something, we toss it
in the IO monad.” (From Wearing the hair shirt – A retrospective on
Haskell<http://research.microsoft.com/en-us/um/people/simonpj/papers/haskell-retrospective/>.)
Is it likely that we can then come along later and give a compelling and
mathematically well-behaved notion of equality to our toxic waste pile? Or
will it insist on behaving anti-sociably, as our own home-grown Toxic
Avenger <http://en.wikipedia.org/wiki/Toxic_Avenger>?
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to