From: sof Date: Thu, 13 May 1999 13:08:24 +0000 (+0000) Subject: [project @ 1999-05-13 13:08:24 by sof] X-Git-Tag: Approximately_9120_patches~6212 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=8997af62ca647b52a3eae314f45d86db346fab45;p=ghc-hetmet.git [project @ 1999-05-13 13:08:24 by sof] Added documentation for (yield :: IO ()) --- diff --git a/ghc/docs/libraries/Concurrent.sgml b/ghc/docs/libraries/Concurrent.sgml index 118178c..087baf6 100644 --- a/ghc/docs/libraries/Concurrent.sgml +++ b/ghc/docs/libraries/Concurrent.sgml @@ -3,7 +3,8 @@

This library provides the Concurrent Haskell extensions as described -in . +in . module Concurrent where @@ -15,6 +16,7 @@ instance Ord ThreadId forkIO :: IO () -> IO ThreadId myThreadId :: IO ThreadId killThread :: ThreadId -> IO () +yield :: IO () data MVar a -- Synchronisation variables newEmptyMVar :: IO (MVar a) @@ -71,8 +73,7 @@ Notes: Hugs uses cooperative multitasking: Context switches only occur when you use one of the primitives defined in this module. This means that programs such as: -s not been implemented yet on -Hugs + main = forkIO (write 'a') >> write 'b' where write c = putChar c >> write c @@ -85,6 +86,12 @@ main = forkIO (write 'a') >> write 'b' simple graphical user interfaces. +The yield action forces a context-switch to any other +currently runnable threads (if any), and is occasionally useful when +implementing concurrency abstractions (especially so if the +implementation of Concurrent Haskell uses cooperative multitasking). + + Hugs does not provide the functions