From: Camil Staps Date: Fri, 24 Apr 2015 17:09:05 +0000 (+0200) Subject: finished dcl X-Git-Url: https://git.martlubbers.net/?a=commitdiff_plain;h=799290e3bb8518a2368d824a9a9bf9cc33cb7cd0;p=fp1415.git finished dcl --- diff --git a/fp2/week2/camil/StdIOMonad.dcl b/fp2/week2/camil/StdIOMonad.dcl index a23a328..580efaa 100644 --- a/fp2/week2/camil/StdIOMonad.dcl +++ b/fp2/week2/camil/StdIOMonad.dcl @@ -2,14 +2,14 @@ definition module StdIOMonad // Deze module verpakt een aantal StdFile functies in een monadische jas -import StdMonad +import StdMonad, StdMaybe :: IO a :: *W :: Void = Void :: Filemode = Lees | Schrijf :: Filenaam :== String -:: Filehandle +:: Filehandle :== String // voer monadische I/O actie uit op de wereld: doIO:: (IO a) *World -> *(a, *W) @@ -25,16 +25,16 @@ read :: IO String write :: String -> IO Void // open de file met gegeven filenaam en mode: -//open :: Filenaam Filemode -> IO (Maybe Filehandle) +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 +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