[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / lib / prelude / Concurrent_t.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface Concurrent where
3 import Channel(Chan(..), dupChan, getChan, getChanContents, newChan, putChan, unGetChan)
4 import ChannelVar(CVar(..), getCVar, newCVar, putCVar)
5 import Merge(mergeIO, nmergeIO)
6 import Parallel(par, seq)
7 import PreludeIOError(IOError13)
8 import PreludeMonadicIO(Either)
9 import PreludePrimIO(IVar(..), MVar(..), _IVar, _MVar, newEmptyMVar, newIVar, newMVar, putMVar, readIVar, readMVar, swapMVar, takeMVar, threadDelay, threadWait, writeIVar)
10 import SampleVar(SampleVar(..), emptySampleVar, newSampleVar, readSample, writeSample)
11 import Semaphore(QSem(..), QSemN(..), newQSem, newQSemN, signalQSem, signalQSemN, waitQSem, waitQSemN)
12 infixr 0 `par`
13 infixr 1 `seq`
14 data Chan a 
15 data CVar a     {-# GHC_PRAGMA CVar (_MVar a) (_MVar ()) #-}
16 type IVar a = _IVar a
17 type MVar a = _MVar a
18 data _IVar a    {-# GHC_PRAGMA _IVar (SynchVar# _RealWorld a) #-}
19 data _MVar a    {-# GHC_PRAGMA _MVar (SynchVar# _RealWorld a) #-}
20 type SampleVar a = _MVar (Int, _MVar a)
21 data QSem       {-# GHC_PRAGMA QSem (_MVar (Int, [_MVar ()])) #-}
22 data QSemN      {-# GHC_PRAGMA QSemN (_MVar (Int, [(Int, _MVar ())])) #-}
23 dupChan :: Chan a -> _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
24         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
25 emptySampleVar :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
26         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
27 forkIO :: (_State _RealWorld -> (Either IOError13 (), _State _RealWorld)) -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
28         {-# GHC_PRAGMA _A_ 2 _U_ 12 _N_ _N_ _N_ _N_ #-}
29 getChan :: Chan a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
30         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "SS" _N_ _N_ #-}
31 getChanContents :: Chan a -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
32         {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _N_ _N_ _N_ #-}
33 newChan :: _State _RealWorld -> (Either IOError13 (Chan a), _State _RealWorld)
34         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
35 putChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
36         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
37 unGetChan :: Chan a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
38         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "SLS" _N_ _N_ #-}
39 getCVar :: CVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
40         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P)L)U(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
41 newCVar :: _State _RealWorld -> (Either IOError13 (CVar a), _State _RealWorld)
42         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
43 putCVar :: CVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
44         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(LU(P))LU(P)" {_A_ 4 _U_ 1222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
45 mergeIO :: [a] -> [a] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
46         {-# GHC_PRAGMA _A_ 3 _U_ 001 _N_ _S_ "AAU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
47 nmergeIO :: [[a]] -> _State _RealWorld -> (Either IOError13 [a], _State _RealWorld)
48         {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AU(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
49 par :: a -> b -> b
50         {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
51 seq :: a -> b -> b
52         {-# GHC_PRAGMA _A_ 2 _U_ 01 _N_ _S_ "AS" {_A_ 1 _U_ 1 _N_ _N_ _F_ _IF_ARGS_ 2 1 X 1 _/\_ u0 u1 -> \ (u2 :: u1) -> u2 _N_} _F_ _IF_ARGS_ 2 2 XX 1 _/\_ u0 u1 -> \ (u2 :: u0) (u3 :: u1) -> u3 _N_ #-}
53 newEmptyMVar :: _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
54         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
55 newIVar :: _State _RealWorld -> (Either IOError13 (_IVar a), _State _RealWorld)
56         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
57 newMVar :: a -> _State _RealWorld -> (Either IOError13 (_MVar a), _State _RealWorld)
58         {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
59 putMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
60         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
61 readIVar :: _IVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
62         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
63 readMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
64         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
65 swapMVar :: _MVar a -> a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
66         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
67 takeMVar :: _MVar a -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
68         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
69 threadDelay :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
70         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
71 threadWait :: Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
72         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
73 writeIVar :: _IVar a -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
74         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
75 newSampleVar :: _State _RealWorld -> (Either IOError13 (_MVar (Int, _MVar a)), _State _RealWorld)
76         {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(P)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-}
77 readSample :: _MVar (Int, _MVar a) -> _State _RealWorld -> (Either IOError13 a, _State _RealWorld)
78         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(P)U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
79 writeSample :: _MVar (Int, _MVar a) -> a -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
80         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(P)LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
81 newQSem :: Int -> _State _RealWorld -> (Either IOError13 QSem, _State _RealWorld)
82         {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
83 newQSemN :: Int -> _State _RealWorld -> (Either IOError13 QSemN, _State _RealWorld)
84         {-# GHC_PRAGMA _A_ 2 _U_ 21 _N_ _S_ "LU(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
85 signalQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
86         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
87 signalQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
88         {-# GHC_PRAGMA _A_ 3 _U_ 111 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 212 _N_ _N_ _N_ _N_} _N_ _N_ #-}
89 waitQSem :: QSem -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
90         {-# GHC_PRAGMA _A_ 2 _U_ 11 _N_ _S_ "U(U(P))U(P)" {_A_ 2 _U_ 22 _N_ _N_ _N_ _N_} _N_ _N_ #-}
91 waitQSemN :: QSemN -> Int -> _State _RealWorld -> (Either IOError13 (), _State _RealWorld)
92         {-# GHC_PRAGMA _A_ 3 _U_ 121 _N_ _S_ "U(U(P))LU(P)" {_A_ 3 _U_ 222 _N_ _N_ _N_ _N_} _N_ _N_ #-}
93