Purescript - Как определить сигнатуру функции в REPL? - PullRequest
0 голосов
/ 09 марта 2020

Когда я печатаю, скажите:

f :: Int -> Int

REPL жалуется с:

The type declaration for f should be followed by its definition.

1 Ответ

2 голосов
/ 09 марта 2020

REPL ожидает, что каждая отдельная строка будет полной программой, и поскольку одинокая подпись не является полной программой, вы получите ошибку.

Чтобы выполнить REPL для нескольких строк перед попыткой их скомпилировать, используйте команду :paste, чтобы начать блок, а затем нажмите Ctrl + D, чтобы завершить его:

> :paste
… f :: Int -> Int
… f x = x + 42
… ^D
> f 1
43

Эту и другие команды можно обнаружить, набрав :?, поскольку REPL предлагает вам сделать это в начале сеанса:

PSCi, version 0.13.6
Type :? for help
...