[Haskell-cafe] Re: philosophy of Haskell
es at ertes.de
Sun Aug 15 15:25:57 EDT 2010
Tillmann Rendel <rendel at Mathematik.Uni-Marburg.de> wrote:
> Bulat Ziganshin wrote:
> >> But in a world passing interpretation of IO, print is supposed to
> >> be a pure Haskell function. So the value world2 can only depend on
> >> the values of print and world1, but not on the actions of some
> >> concurrent thread.
> > the whole World includes any concurrent thread though ;)
> Oh I see. So given world1, print can simulate the behavior of the
> concurrent thread to take it into account when constructing world2.
> Since that simulation depends only on world1, print is still pure.
> Does that mean that world passing *does* account for concurrency after
Exactly. If at any point you use forkIO, then the world is updated to
include the new thread.
That's why I find it wrong to say that this mental model doesn't capture
concurrency. It just has no explicit notion for it, but neither has IO.
nightmare = unsafePerformIO (getWrongWife >>= sex)
More information about the Haskell-Cafe