diff options
author | Mart Lubbers | 2015-04-24 17:22:27 +0200 |
---|---|---|
committer | Mart Lubbers | 2015-04-24 17:22:27 +0200 |
commit | 5235f58efa84ebe137a932b7ca547efd7d73a205 (patch) | |
tree | 0f5a7773c542e1452b4bb7c84d8bb7469c9e8dbb /fp2/week2/mart/StdIOMonad.dcl | |
parent | rare shit (diff) |
______________
< Lekker bezig >
--------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Diffstat (limited to 'fp2/week2/mart/StdIOMonad.dcl')
-rw-r--r-- | fp2/week2/mart/StdIOMonad.dcl | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/fp2/week2/mart/StdIOMonad.dcl b/fp2/week2/mart/StdIOMonad.dcl index 0d451d2..0801928 100644 --- a/fp2/week2/mart/StdIOMonad.dcl +++ b/fp2/week2/mart/StdIOMonad.dcl @@ -5,28 +5,29 @@ definition module StdIOMonad import StdMonad, StdMaybeMonad
:: IO a
+:: *W
:: Void = Void
:: Filemode = Lees | Schrijf
:: Filenaam :== String
:: Filehandle
// voer monadische I/O actie uit op de wereld:
-//doIO :: (IO a) *World -> (a,*World)
+doIO:: (IO a) *World -> *(a, *W)
// 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:
+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:
+
+// sluit de file met gegeven filenaam:
//close :: Filehandle -> IO Bool
//
//// bepaal of het lezen van de file klaar is:
|