Функция forever
Функция forever принимает действие ввода-вывода – параметр и возвращает действие ввода-вывода – результат. Действие-результат будет повторять действие-параметр вечно. Эта функция входит в модуль Control.Monad. Следующая программа будет бесконечно спрашивать у пользователя строку и возвращать её в верхнем регистре:
import Control.Monad
import Data.Char
main = forever $ do
putStr "Введите что-нибудь: "
l <– getLine
putStrLn $ map toUpper l