diff options
author | Mart Lubbers | 2015-04-24 14:35:17 +0200 |
---|---|---|
committer | Mart Lubbers | 2015-04-24 14:35:17 +0200 |
commit | a067356625105f50978443d3b0a0a5d8f6391184 (patch) | |
tree | d194d49f36232b8e5860ca557c75f11a3ac05afe /fp2/week2/mart/EchoMonad.icl | |
parent | updated practicum files (diff) |
rare shit
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)
|