Chans are basically linked lists with the next pointer wrapped in an MVar. The source is actually very readable. So yes, it probably is the same thing. Best, Leon On Fri, Nov 11, 2011 at 11:37 AM, Nathan Howell <nathan.d.howell@gmail.com> wrote:
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 <marlowsd@gmail.com> wrote:
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
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users