3 % (c) The AQUA Project, Glasgow University, 1995
5 \section[Concurrent]{Concurrent Haskell constructs}
7 A common interface to a collection of useful concurrency abstractions.
8 Currently, the collection only contains the abstractions found in the
9 {\em Concurrent Haskell} paper (presented at the Haskell Workshop
10 1995, draft available via \tr{ftp} from
11 \tr{ftp.dcs.gla.ac.uk/pub/glasgow-fp/drafts}.) plus a couple of
12 others. See the paper and the individual files containing the module
13 definitions for explanation on what they do.
18 par, seq, fork, -- re-exported from GHCbase
20 -- waiting on file descriptor I/O
21 threadWaitRead, threadWaitWrite,
32 -- IVars and MVars come from here, too
34 newEmptyMVar, takeMVar, putMVar, newMVar, readMVar, swapMVar,
35 newIVar, readIVar, writeIVar
48 forkIO :: IO () -> IO ()
50 forkIO (IO (ST action)) = IO $ ST $ \ s ->
54 new_s `fork` (Right (), s)