
11 Nov
2011
11 Nov
'11
11:37 a.m.
We're hitting something that looks similar with a Chan on 7.2.1, though
they might be related..
On Fri, Nov 11, 2011 at 4:52 AM, Simon Marlow
Sorry, no. That one has a workaround: define your own fixIO:
fixIO :: (a -> IO a) -> IO a fixIO k = do m <- newEmptyMVar ans <- unsafeInterleaveIO (takeMVar m) result <- k ans putMVar m result return result