Die IO-Monade

data IO -- abstract

readFile :: FilePath -> IO String
putStrLn :: String -> IO ()

instance Functor IO ; instance Monad IO

Alle „Funktionen``, deren Resultat von der Außenwelt (Systemzustand) abhängt, haben Resultattyp IO ...

Am Typ einer Funktion erkennt man ihre möglichen (schädlichen) Wirkungen bzw. deren garantierte Abwesenheit.

Wegen der Monad-Instanz: benutze do-Notation

do cs <- readFile "foo.bar" ; putStrLn cs


2009-11-20