blob: 375f077598438f672cc34434152f71ffdef3ba28 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
definition module StdIOMonad
// Deze module verpakt een aantal StdFile functies in een monadische jas
import StdMonad, StdMaybeMonad
:: IO a
:: Void = Void
:: Filemode = Lees | Schrijf
:: Filenaam :== String
:: *Filehandle
// voer monadische I/O actie uit op de wereld:
//doIO :: (IO a) *World -> *(a,*World)
// IO is een monad:
//instance return IO
//instance >>= IO
// lees regel van de console:
read :: IO String
/*
// schrijf regel naar de console:
write :: String -> IO Void
// open de file met gegeven filenaam en mode:
open :: Filenaam Filemode -> IO (Maybe Filehandle)
// sluit de file met gegeven filenaam:
close :: Filehandle -> IO Bool
// bepaal of het lezen van de file klaar is:
eof :: Filehandle -> IO Bool
// lees een regel van een file:
readline :: Filehandle -> IO (Maybe String)
// schrijf een regel naar een file:
writeline :: String Filehandle -> IO Bool*/
|