2 Request(..), Response(..), IOError(..),
3 Dialogue(..), SigAct(..),
4 SuccCont(..), StrCont(..), StrListCont(..),
5 BinCont(..), FailCont(..)
10 -- Requests and responses:
12 data Request = -- file system requests:
14 | WriteFile String String
15 | AppendFile String String
17 | WriteBinFile String Bin
18 | AppendBinFile String Bin
21 -- channel system requests:
23 | AppendChan String String
25 | AppendBinChan String Bin
27 -- environment requests:
32 | SetEnv String String
33 | SigAction Int SigAct
34 deriving () -- NB: Text
36 data SigAct = SAIgnore
40 data Response = Success
45 deriving () -- NB: Text
47 data IOError = WriteError String
53 deriving () -- NB: Text
56 -- Continuation-based I/O:
58 type Dialogue = [Response] -> [Request]
59 type SuccCont = Dialogue
60 type StrCont = String -> Dialogue
61 type StrListCont = [String] -> Dialogue
62 type BinCont = Bin -> Dialogue
63 type FailCont = IOError -> Dialogue