如何在新的cabal 1.17沙箱中使用GHCi?

jbe*_*man 39 haskell cabal

我一直在试用cabal head,它支持类似于cabal-dev的沙箱.但是,目前还没有支持cabal-dev ghci等效的,并且显然没有为下一个版本提供支持.

我是否可以使用一些咒语来解决这个问题并得到类似的东西cabal-dev ghci

Mik*_*kov 39

编辑(2013年8月):cabal repl补丁最近被合并.此功能将成为下一版本的一部分.


在撰写本文时,没有易于使用的模拟cabal-dev ghci.我们计划cabal repl在将来添加命令 - 但是,目前此功能不在Cabal HEAD中.

在此期间,您可以尝试以下解决方法:

$ cd $YOUR_PACKAGE_DIR

# For GHC >= 7.6
$ ghci -no-user-package-db -package-db .cabal-sandbox/i386-linux-ghc-7.6.1-packages.conf.d

# For GHC < 7.6
$ ghci -no-user-package-conf -package-conf .cabal-sandbox/i386-linux-ghc-7.4.2-packages.conf.d
Run Code Online (Sandbox Code Playgroud)

这不会使您的软件包的模块立即可用ghci- 您必须使用:l或加载它们import(在自定义预处理器和CPP存在时可能会中断).

  • 注意`cabal repl`从cabal版本1.18开始可用:http://coldwa.st/e/blog/2013-08-21-Cabal-1-18.html这意味着当你有cabal版本> = 1.18时你只需在项目目录中输入`cabal repl`,如果可以使用,将使用沙箱. (7认同)