0

我可以使用 来评估 dhall 表达式dhall --file ...,并且可以1 + 1在 repl 中进行评估,但是将let表达式键入dhall repl失败并显示“输入意外结束”。

➜  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 "→&quot;, ->, :, keyword, or whitespace

⊢ 1 + 1

2
4

1 回答 1

1

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

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

⊢ :let x = 1

x : Natural

⊢ x + 1

2
于 2022-02-22T23:01:53.613 回答