如何在 Idris 中定义非泛型递归数据类型?

How do you define a non-generic recursive datatype in Idris?

这实际上是我的第一行 Idris 代码。当我查阅文档时,一切似乎都是正确的:

Idris> data T = Foo Bool | Bar (T -> T)
(input):1:6:
  |
1 | data T = Foo Bool | Bar (T -> T)
  |      ^
unexpected reserved data
expecting dependent type signature

这让我觉得我可能需要声明 T 成为某种时尚的符号?

它在 Idris 源文件中按预期工作。然而,在 REPL 中,声明需要以 :let 命令为前缀:

:let data T = Foo Bool | Bar (T -> T)

感谢提问。我学到了一些东西试图回答它。