【发布时间】:2014-07-22 22:45:15
【问题描述】:
在库项目中使用cabal repl 似乎什么都不做,但在可执行项目中效果很好。这是我不理解的预期行为吗?
如果我有一个包含简单的文件
go = putStrLn "test"
并使用 cabal init 和所有默认值(但选择“库”作为类型),然后运行 cabal repl 只会产生一些关于配置和预处理库的文本,并且永远不会进入 REPL 环境。完全相同的步骤,但选择“可执行”作为类型,让我按预期进入 GHCi。
代码在直接加载到 GHCi 时运行良好。
【问题讨论】:
-
您是否将该文件指定为公开模块?我认为
cabal repl只会在你指定它的情况下加载它,但这是一个未经测试的猜测。 -
@bheklilr 感谢您的想法,但这似乎不是问题所在。我在有和没有模块行的情况下都试过了,得到了相同的结果。
-
你需要一个命名模块,但你还需要在项目的 cabal 文件中将其指定为包含模块。你也试过吗?
-
就是这样,你第一次是对的。如果您想创建一个真正的答案,我很乐意将其标记为已接受。
标签: haskell ghc cabal ghci cabal-install