我克隆了this Idris library,并且可以根据需要进行编译。有一个example/
目录,该目录使用该库(导入其某些模块),并且编译并运行良好。但是,当我尝试在Atom中运行REPL时,会显示一个熟悉的错误消息:
Can't find import Graphics/Util/GlfwConfig
这很有趣,因为执行make
时,以下是输出行之一:
Installing Graphics/Util/Glfw.ibc to /home/jan/.stack/snapshots/x86_64-linux-tinfo6/lts-11.17/8.2.2/share/x86_64-linux-ghc-8.2.2/idris-1.3.0/libs/glfw/Graphics/Util
似乎暗示已安装此模块。
我可能误解了Haskell / Idris / Stack在这里安装和Idris模块的过程的一部分,那么我应该在这里做什么/理解什么?
答案 0 :(得分:1)
我想问题很简单,该项目包含两个ipkg
文件。一个用于库,另一个用于测试/示例。
example/hello
中的一个:
package test
opts = "-p effects -p glfw "
executable = hello
main = Main
包括对idris软件包glfw的依赖关系,但是如果您在顶级目录中调用Atom,Atom不会看到它。要进行验证,请切换到目录example/hello
并调用atom .
,然后从那里尝试。现在,ipkg文件位于顶级目录中,并将由Atom提取。
答案 1 :(得分:0)
使用stack
时,必须通过堆栈stack ghci
而不是ghci
来启动REPL。这将编译并加载库中的模块。
我不熟悉Atom,但是根据this,REPL会尝试猜测要运行的正确ghci
命令。它得到了错误的命令,并且没有运行stack ghci
。