Haskell 包 (newsynth) 有问题

Trouble with Haskell package (newsynth)

我是 Haskell 新手,我的 (Mac) 机器上安装了 Haskell;我正在尝试使用 newsynth (https://www.mathstat.dal.ca/~selinger/newsynth/, http://hackage.haskell.org/package/newsynth)。在我安装 Haskell(主目录)的同一位置的终端中,我 运行 命令 cabal install newsynth 按照包作者的建议。但是,我无法弄清楚如何从命令行实际访问包中的任何内容,更不用说在特定文件中了。

在 GHCi Prelude 中,我尝试了 运行ning import Quantumimport Quantum.Synthesis.Diophantine 形式的命令,但总是收到错误消息。 (例如,相比之下,import Data.Complex 工作得很好。)

(我确信我遗漏了一些非常明显的东西,但我只是在星期一开始使用 Haskell,并且需要在下周之前启动一些 newsynth 代码,这就是为什么我没有从头开始。)关于 (1) 如何从 GHCi 运行 newsynth 的功能和 (2) 如何将它们合并到 .hs 文件中的任何建议将不胜感激。谢谢!

编辑:cabal --version returns cabal-install version 3.2.0.0(换行符)compiled using version 3.2.0.0 of the Cabal library

引用评论:

[cabal --version] returns: cabal-install version 3.2.0.0 (newline) compiled using version 3.2.0.0 of the Cabal library

您链接到的项目页面中的安装说明似乎尚未针对 cabal-install 3+ 更新(公平地说,cabal-install 3 相对较新)。无论如何:

  • 如果您只想要 运行宁 ghci 并试用这些模块,不附加任何条件,请使用 cabal install --lib newsynth。这将使 newsynth 包在 GHC 的全局环境中可用(有关详细信息,请参阅 the cabal install entry in the Cabal User Guide)。

  • 由于您最终想在必须编写的代码中使用该包,因此我的建议是使用 cabal init 为您的代码创建一个新项目。然后,编辑项目的 .cabal 文件以将 newsynth 添加到其 build-depends 部分,仅此而已:将安装包(如果尚未安装)并在下次您执行 cabal build 来构建项目时,或者在您的项目上下文中执行 cabal repl 到 运行 GHCi 时。在那种情况下,根本不需要使用cabal install命令。