X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FException.lhs;h=fd280041574254fe95d562fe26a81b4682479cad;hb=d869f2fcfac24f46966e444feebad4e227d05c27;hp=073e7a97c9ed60a74615c259a93252fe69f14e2b;hpb=d7019a562d5e862476d55d1c0721fd6c4e793c28;p=haskell-directory.git diff --git a/GHC/Exception.lhs b/GHC/Exception.lhs index 073e7a9..fd28004 100644 --- a/GHC/Exception.lhs +++ b/GHC/Exception.lhs @@ -111,7 +111,10 @@ unblock (IO io) = IO $ unblockAsyncExceptions# io -- > evaluate x >>= f ==> (return $! x) >>= f -- -- /Note:/ the first equation implies that @(evaluate x)@ is /not/ the --- same as @(return $! x)@. +-- same as @(return $! x)@. A correct definition is +-- +-- > evaluate x = (return $! x) >>= return +-- evaluate :: a -> IO a evaluate a = IO $ \s -> case a `seq` () of () -> (# s, a #) -- NB. can't write