summaryrefslogtreecommitdiff
path: root/fp2/week2/mart/EchoMonad.icl
diff options
context:
space:
mode:
authorMart Lubbers2015-04-24 14:35:17 +0200
committerMart Lubbers2015-04-24 14:35:17 +0200
commita067356625105f50978443d3b0a0a5d8f6391184 (patch)
treed194d49f36232b8e5860ca557c75f11a3ac05afe /fp2/week2/mart/EchoMonad.icl
parentupdated practicum files (diff)
rare shit
Diffstat (limited to 'fp2/week2/mart/EchoMonad.icl')
-rw-r--r--fp2/week2/mart/EchoMonad.icl14
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)