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