The real question is, does this mean that GHC is stopping the world every
time it puts an MVar?
Tim
---------- Původní zpráva ----------
Od: Brandon Allbery <[email protected]>
Datum: 24. 12. 2012
Předmět: Re: [Haskell-cafe] multi-thread and lazy evaluation
"
On Mon, Dec 24, 2012 at 8:45 AM, Corentin Dupont <[email protected]
(mailto:[email protected])> wrote:
"
execBlocking :: MVar (Maybe MyData) -> IO ()
execBlocking mv = do
let (a::String) = a
--If you uncomment the next line, it will work
--putStrLn $ show a
putMVar mv (Just $ MyData a "toto")
"
It's laziness, yes; you need to do something along the lines of
> let a = length a `seq` a
or possibly Control.Exception.evaluate(http://Control.Exception.evaluate)
needs to be involved somewhere.
--
brandon s allbery kf8nh sine nomine associates
[email protected](mailto:[email protected])
[email protected](mailto:[email protected])
unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net
(http://sinenomine.net)
"
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe