, raiseInThread -- :: ThreadId -> Exception -> IO ()
, par -- :: a -> b -> b
, seq -- :: a -> b -> b
+ , yield -- :: IO ()
+
{-threadDelay, threadWaitRead, threadWaitWrite,-}
-- MVars
myThreadId = IO $ \s ->
case (myThreadId# s) of (# s1, id #) -> (# s1, ThreadId id #)
+yield :: IO ()
+yield = IO $ \s ->
+ case (yield# s) of s1 -> (# s1, () #)
+
-- "seq" is defined a bit wierdly (see below)
--
-- The reason for the strange "0# -> parError" case is that