Fri, 16 Feb 2001 10:49:14 -0800, Levent Erkok <[EMAIL PROTECTED]> pisze:

> > fixIO m = let
> >     x = unsafePerformIO (liftM Box (m (unbox x)))
> >     in return (unbox $! x)
> 
> But that doesn't do the effects either..

Sorry, this one should be OK:

fixIO m = let
    x = unsafePerformIO (liftM Box (m (unbox x)))
    in return . unbox $! x

> By the way, the original version that Simon PJ wrote (with mvar's)
> didn't have any of these problems.

But used a heavy concept of concurrency to express something which
is more fundamental and doesn't need concurrency.

-- 
 __("<  Marcin Kowalczyk * [EMAIL PROTECTED] http://qrczak.ids.net.pl/
 \__/
  ^^                      SYGNATURA ZASTÊPCZA
QRCZAK


_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to