所以我给创建 Quipper 的教授之一 Peter Selinger 发了电子邮件。
我唯一需要做的就是在 MSYS 内部:
ghci -iC:/quipper -iC:/quipper/quipper
这会正确地符合所有内容并且文件可以正常运行。
这是他给我的电子邮件:
亲爱的 - - -,
谢谢你的来信。让我看看能不能帮上忙。
您是否按照自述文件中的说明进行操作?在“构建各种算法和程序”下,指令是运行“make”。这将自动在“测试”目录中构建所有测试。
接下来,要编译 Quipper 程序,您应该使用位于 quipper/scripts 中的“quipper”脚本。它的工作方式与“ghc”类似,只是它会在搜索路径中自动包含 Quipper 文件的正确目录。在 Windows 上,您将使用“quipper.bat”。
Quipper 并不是真的要以交互方式运行,即从 ghci 运行。但是,如果您确实需要以交互方式运行 Quipper,我建议使用“quipperi”脚本,也在 quipper/scripts 中。这也将正确设置加载路径。在 Windows 中,使用“quipperi.bat”。
最后,如果您需要包含来自 ghci 的 Quipper 内容,但由于某种原因不能或不想使用 quipperi 脚本,则需要使用“-i”选项指定这些目录,例如
ghci -iC:/quipper -iC:/quipper/quipper
可能是在 Windows 中,您需要使用“\”而不是“/”,但我不确定这是否有必要。
我希望这会有所帮助,--彼得
使用 ghc 编译和 exe 时,只需确保包含以下命令:
-iC:/quipper -iC:/quipper/quipper
.
如果您按照 Selinger 教授的建议使用 quipper 脚本,则在 MSYS 内部执行以下操作:
导航到保存所有 Quipper 文件的文件夹,这是我的情况:
cd C:/quipper/quipper/scripts
然后quipper
在 MSYS 中键入文件的位置来编译一个 exe,如下所示:
quipper C:/quipper/tests/And_gate.hs
该文件将编译并应打印更新,如下所示:
[1 of 22] Compiling Libraries.Typeable (......
[2 of 22] Compiling Libraries.Tuple (......
等等。
exe(在这种情况下And_gate.exe
)将位于从 ( C:/quipper/tests
) 编译的文件夹中。您需要将其移动到包含 acroread.bat 的文件夹中,quipper/scripts
以使其正常工作。