But since the read may block, it matters *when* you
perform it. For example if you print “Hello” and then read the IVar, you’ll
block after printing; but if you read the IVar and then print, the print won’t
come out. If the operation was pure (no IO) then you’d have a lot less control
over when it happened.
Simon
From: haskell-bounces@haskell.org
[mailto:haskell-bounces@haskell.org] On Behalf Of Lennart Augustsson
Sent: 04 December 2007 08:19
To: Conal Elliott
Cc: haskell@haskell.org
Subject: Re: [Haskell] IVars
Good question. That must
be a matter of taste, because as you say the read will always produce the same
result. But it sill is a bit of a strange operation.
-- Lennart
On Dec 4, 2007 6:25 AM, Conal Elliott < conal@conal.net> wrote:
Oh. Simple enough. Thanks.
Another question: why the IO in readIVar :: IVar a -> IO a, instead of
just readIVar :: IVar a -> a? After all, won't readIVar iv yield the
same result (eventually) every time it's called?
On Dec 3, 2007 12:29 AM, Lennart Augustsson <lennart@augustsson.net>
wrote:
You can make them from MVars.
On Dec 2, 2007 8:03 PM, Conal Elliott <conal@conal.net> wrote:
what became of (assign-once) IVars? afaict, they were in concurrent haskell and now aren't.
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
_______________________________________________
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell