Читать до конца потока в Haskell

Я новичок в Haskell, и я хотел бы продолжать читать строки с консоли до конца потока и выводить все, что мне нужно. получить в верхнем регистре. Пока у меня есть

import Data.Char

main = myLoop

myLoop = do inp <- getLine
            if (inp == "x") 
              then putStrLn "Bye!"
              else do putStrLn(map toUpper inp)
                      myLoop

. Однако я не могу понять, как избежать условия if (inp == "x")и заменить его условием конца потока.

Короче говоря, я ищу эквивалент Haskell while (cin >> line)в C++

10
задан K Mehta 17 March 2012 в 23:44
поделиться