From a067356625105f50978443d3b0a0a5d8f6391184 Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Fri, 24 Apr 2015 14:35:17 +0200 Subject: rare shit --- fp2/week2/mart/oldold/old/StdIOMonad.dcl | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 fp2/week2/mart/oldold/old/StdIOMonad.dcl (limited to 'fp2/week2/mart/oldold/old/StdIOMonad.dcl') diff --git a/fp2/week2/mart/oldold/old/StdIOMonad.dcl b/fp2/week2/mart/oldold/old/StdIOMonad.dcl new file mode 100644 index 0000000..375f077 --- /dev/null +++ b/fp2/week2/mart/oldold/old/StdIOMonad.dcl @@ -0,0 +1,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*/ -- cgit v1.2.3