从 contrib 库导入失败

Importing from the contrib library fails

我正在关注 Idris 2 中的 TDD 这本书,online documentation 给出了以下建议:

For the VList view in the exercise 4 after Chapter 10-2 import Data.List.Views.Extra from contrib library.

所以我把这个导入放在源文件中 (example.idr)

import Data.List.Views.Extra

但是 运行 idris2 example.idr 失败

Error: Module Data.List.Views.Extra not found

我相信 contrib 库已正确安装,因为 contrib (0.5.1) 出现在 idris2 --list-packages 打印的列表中。

如何让 Idris 2 接受来自 contrib 库的导入?

idris2 二进制文件接受 --package-p 参数以 添加包作为依赖项

使用 idris2 -p contrib example.idr 调用解释器允许正确解析导入。

除了在命令行上明确提供 -p(如在 ), you can also define a package 中为您的项目使用 IPKG 文件,您可以在其中指定依赖项。

最小示例,放置在项目的 top-level 目录中:

package type-driven-development
depends = contrib

然后您可以使用 idris2 --find-ipkg Example.idr 调用 Idris 2,所有 depends 都将被包含,就像您为每个指定 -p 一样。

Idris 2 CLI 还可以为您生成模板 IPKG 文件。 idris2 --init 命令将为您提供交互式提示,以便您填写一些基本值。