summaryrefslogtreecommitdiff
path: root/fp2/week2/mart/StdIOMonad.dcl
diff options
context:
space:
mode:
authorMart Lubbers2015-04-24 17:22:27 +0200
committerMart Lubbers2015-04-24 17:22:27 +0200
commit5235f58efa84ebe137a932b7ca547efd7d73a205 (patch)
tree0f5a7773c542e1452b4bb7c84d8bb7469c9e8dbb /fp2/week2/mart/StdIOMonad.dcl
parentrare shit (diff)
______________
< Lekker bezig > -------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
Diffstat (limited to 'fp2/week2/mart/StdIOMonad.dcl')
-rw-r--r--fp2/week2/mart/StdIOMonad.dcl27
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: