summaryrefslogtreecommitdiff
path: root/fp2/week2/mart/EchoMonad.icl
blob: 3bcab1162833ef4b9a539e8152d43d81cd5eb764 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
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)