"unexpected end of input" 在`dhall repl`

"unexpected end of input" in `dhall repl`

我可以用 dhall --file ... 计算 dhall 表达式,我可以在 repl 中计算 1 + 1,但是在 dhall repl 中输入 let 表达式失败并显示“意外结束”输入。

➜  cat test.dhall
let x = 1

let y = 2

in  x + y
➜  ~ dhall --file test.dhall
3
➜  ~ dhall repl
Welcome to the Dhall v1.41.0 REPL! Type :help for more information.
⊢ let x = 1

Error: Invalid input

(input):2:1:
  |
2 | <empty line>
  | ^
unexpected end of input
expecting "→", ->, :, keyword, or whitespace

⊢ 1 + 1

2

let x = 1 本身不是有效的表达式。 let ... in ... 表达式的结构可以以一个或多个 let 子句开头,但必须以 in 子句结尾。

如果你只是想在REPL中设置一个值,你需要使用特殊的:let命令(它特定于REPL而不是语言)。

⊢ :let x = 1

x : Natural

⊢ x + 1

2