improve documentation for evaluate
authorSimon Marlow <simonmar@microsoft.com>
Tue, 8 May 2007 08:17:12 +0000 (08:17 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Tue, 8 May 2007 08:17:12 +0000 (08:17 +0000)
GHC/Exception.lhs

index 073e7a9..fd28004 100644 (file)
@@ -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