Вывод целого числа в стандартный вывод в Haskell

У меня есть простая функция вроде:

nth :: Integer -> Integer

И я пытаюсь напечатайте результат следующим образом:

main = do
    n <- getLine
    result <- nth (read n :: Integer)
    print result

Генерируется следующая ошибка:

Couldn't match expected type `IO t0' with actual type `Integer'
In the return type of a call of `nth'
In a stmt of a 'do' expression:
    result <- nth (read n :: Integer)

Также пробовал с putStrLnи множеством других комбинаций, но безуспешно.
Я не могу понять это, и мне понадобится помощь, поскольку я не совсем понимаю, как все работает с этими IOs.

12
задан Iulius Curt 21 April 2012 в 23:46
поделиться