Эта функция позволяет пользователю ввести список строк. Функция принимает длину и позволяет пользователю ввести длину еще на 1 строку. Затем каждая строка проверяется, чтобы убедиться, что она имеет ту же длину, что и исходная строка. Код:
readme :: IO [Line]
readme = do
line <- readLn
let count = length line
lines <- replicateM (count-1) $ do
line <- readLn
if length line /= count
then fail "too long or too short"
else return line
return $ line : lines
Строка имеет тип String.
Когда я пытаюсь запустить функцию и ввести... скажем ["12","13"] я получаю следующее: *Исключение: ошибка пользователя (Prelude.readIO: нет синтаксического анализа) и я не могу понять почему, есть идеи?