Purescript - 如何在 REPL 中定义函数签名?

Purescript - How to define function signature in REPL?

当我打字时,说:

f :: Int -> Int

REPL 抱怨:

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

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