important news: refocusing discussion

Malcolm Wallace Malcolm.Wallace at
Mon Mar 27 06:13:29 EST 2006

John Goerzen <jgoerzen at> wrote:

> On Fri, Mar 24, 2006 at 11:07:53AM +0000, Malcolm Wallace wrote:
> >              I assume that since a non-concurrent implementation has
> > only one thread, that thread will be trying to MVar-synchronise with
> > something that does not exist, and hence be blocked for ever.
> Not necessarily.  An MVar is a useful tool in place of an IORef.  It
> works well when a given hunk of code is used in a threaded program,
> but it also works well in a non-threaded program.  If they are used
> correctly, there is no problem.

Your final sentence is the one that I want to emphasise.  What does it
mean to use an MVar "correctly", such that one can avoid blocking in a
non-threaded implementation?


More information about the Haskell-prime mailing list