[project @ 1999-05-14 19:49:22 by sof]
[ghc-hetmet.git] / ghc / lib / std / PrelConc.lhs
index 10ebbe4..c23e8d8 100644 (file)
@@ -18,6 +18,8 @@ module PrelConc
        , raiseInThread -- :: ThreadId -> Exception -> IO ()
        , par           -- :: a -> b -> b
        , seq           -- :: a -> b -> b
+       , yield         -- :: IO ()
+
        {-threadDelay, threadWaitRead, threadWaitWrite,-}
 
        -- MVars
@@ -68,6 +70,10 @@ myThreadId :: IO ThreadId
 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