Подтвердить что ты не робот

Ghci 'Не в области:' сообщение

Я изучаю учебник "Учите вас в Haskell", и я нахожусь в этой части:

lucky :: (Integral a) => a -> String

Когда я пытаюсь выполнить эту строку, я получаю:

<interactive>:1:1: Not in scope: `lucky'

Что я делаю неправильно?

4b9b3361

Ответ 1

Это не функциональный код, это сигнатура функции, которая может быть сохранена только в модуле вместе с определением функции и быть загружена в GHCi.

Эта подпись означает, что вы собираетесь определить функцию lucky, которая получает Integer и возвращает String.

Однако, если вы создаете свои функции с помощью GHCi в качестве интерактивного интерпретатора, вы можете позволить Haskell вывести свой тип функции, например. г:.

ghci> let lucky x = show (x + 1)
ghci> :t lucky
lucky :: (Num a) => a -> String