diff options
Diffstat (limited to 'fp2/week2/mart/EchoMonad.icl')
-rw-r--r-- | fp2/week2/mart/EchoMonad.icl | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/fp2/week2/mart/EchoMonad.icl b/fp2/week2/mart/EchoMonad.icl new file mode 100644 index 0000000..3bcab11 --- /dev/null +++ b/fp2/week2/mart/EchoMonad.icl @@ -0,0 +1,14 @@ +module EchoMonad
+
+import StdString // expliciete import uit StdEnv om nameclash met StdFunc / StdIOMonad te voorkomen
+import StdIOMonad
+import StdMaybeMonad
+
+Start :: *World -> (Void,*World)
+Start world = doIO echo world
+
+echo :: IO Void
+echo = read >>= \regel ->
+ if (regel == "\n")
+ (return Void)
+ (write regel >>= \_ -> echo)
|