标签: cabal

如果cabal或工作目录设置为项目目录,则Emacs Interactive-Haskell将不响应

我正在使用Interactive-Haskell repl进入奇怪的行为emacs.当我获取文件时,emacs迷你缓冲区显示一系列交互式提示:

Start a new project named 'myproject'?
Cabal dir (guessed from myproject.cabal):
Build target (empty for default):
Set current directory:
Run Code Online (Sandbox Code Playgroud)

如果我将cabal目录或当前目录保留为项目目录的默认值,则repl将无响应.我在交互式Haskell窗口中得到一个lambda提示符,我可以输入,但是当我按下回车键时,它从不进行评估.光标停留在同一条线上,好像我根本没有按Enter键.

如果我将这两个目录更改为除项目目录之外的某个路径,则repl会正常运行并按预期方式计算表达式.

emacs haskell ghci cabal

124
推荐指数
1
解决办法
1702
查看次数

Cabal和Stack有什么区别?

昨天我了解了一个名为Stack的新Haskell工具.乍一看,看起来它与Cabal完全相同.那么,它们之间有什么区别?堆叠是Cabal的替代品吗?在哪些情况下我应该使用Stack而不是Cabal?什么可以堆栈做Cabal不能?

haskell cabal haskell-stack

87
推荐指数
3
解决办法
2万
查看次数

如何卸载Cabal软件包的版本?

Happstack Lite打破了我,因为它获得了blaze-html版本0.5,它需要版本0.4.Cabal表示安装了0.4.3.4和0.5.0.0 两个版本.我想删除0.5.0.0并仅使用旧版本.但是cabal没有"卸载"命令,当我尝试时ghc-pkg unregister --force blaze-html,ghc-pkg说我的命令被忽略了.

我该怎么办?

更新:不要相信.虽然ghc-pkg声称忽略该命令,但该命令不会被忽略.在Don Stewart接受的答案中,您可以删除您想要删除的版本.

haskell ghc cabal

81
推荐指数
4
解决办法
4万
查看次数

我的阴谋包是FUBAR; 我怎样才能清除它们并重新开始?

~/.cabal/config在新机器上安装一堆软件包之前,我忘了启用构建库来进行性能分析,而现在--reinstall world尝试修复这种情况已经让一切都破坏了(自然).

我认为这是更好地利用我的时间来清除一切.我该怎么做?

haskell cabal

63
推荐指数
2
解决办法
1万
查看次数

我的Haskell程序或库如何找到它的版本号?

我希望我的cabalised程序有一个--version开关.

我希望它报告与.cabal文件中存在的版本相同的版本.

如果我必须在我的Haskell源代码和.cabal文件中单独更新版本号,我最终会使它们不同步.

那么,我的程序如何在cabal下编译,从.cabal文件中获取其版本号?

haskell version package cabal

61
推荐指数
1
解决办法
3229
查看次数

如何减少.cabal文件的build-depends字段中的重复?

这是一个.cabal文件:

Name:                myprogram
Version:             0.1
-- blah blah blah
Cabal-version:       >=1.9.2

Executable myprogram
  HS-source-dirs:       src
  Main-is:              Main.hs
  Build-depends:        attoparsec == 0.10.*,
                        base == 4.3.*,
                        -- long long list of packages

Test-Suite test
  HS-source-dirs:       test, src
  Type:                 exitcode-stdio-1.0
  Main-is:              Main.hs
  Build-depends:        attoparsec == 0.10.*,
                        base == 4.3.*,
                        -- long long list of packages
                        QuickCheck == 2.4.*
Run Code Online (Sandbox Code Playgroud)

有没有什么办法可以用"与可执行文件相同,加上QuickCheck"替换测试套件的长编译依赖包列表?

编辑:版本信息.

  • cabal-dev 0.9
  • cabal-install 0.10.2
  • Cabal图书馆1.10.2.0
  • GHC 7.0.4
  • Haskell平台2011.4.0.0

haskell cabal

58
推荐指数
3
解决办法
4207
查看次数

分析使用堆栈构建

我如何告诉stack构建我的可执行文件及其所有依赖项-prof

只需将它添加到ghc-options了在.cabal文件是不够的,因为它只是试图生成可执行文件与启用分析其失败.

haskell cabal haskell-stack

55
推荐指数
3
解决办法
1万
查看次数

如何使用仍然使用runhaskell/ghci运行的库+可执行文件来创建Haskell cabal项目?

如果你在一个小集团文件中声明库+可执行部分,而避免了图书馆的双重编译通过把图书馆变成一个hs-source-dirs目录下,你不能用通常运行项目ghcirunhaskell了,特别是如果可执行文件有辅助模块本身.

什么是推荐的项目布局

  • 只构建一次所需的东西
  • 允许使用 runhaskell
  • 有一个干净的结构,没有黑客?

haskell ghci cabal runhaskell

54
推荐指数
1
解决办法
7055
查看次数

独立的cabal包子集

给定一组cabal包,有没有办法自动计算独立包的子集?换句话说,将足以安装所有包的子集.

对于[network,parsec]答案是[network],因为它network依赖parsec.

对于[network,containers]答案是[network,containers]因为:

  • network 不依赖 containers
  • 所有network的依赖都不依赖于containers
  • containers 不依赖 network
  • 所有containers的依赖都不依赖于network

找到2个包的答案并不难.真正有趣的是找出独立的设置[containers, directory, filepath, lens, xml, http-conduit, regex-posix, monad-control, unordered-containers, glib, hashable, hspec, split, aeson, attoparsec, stm, QuickCheck].


从答案我期望一些基于cabal库的功能? [Packages] ? IO [Packages].

haskell cabal

48
推荐指数
1
解决办法
1701
查看次数

如何使用堆栈安装包?

使用cabal,我可以使用命令安装hakyll:

cabal install hakyll
Run Code Online (Sandbox Code Playgroud)

如何使用堆栈执行相同的操作?

haskell package-management cabal cabal-install haskell-stack

47
推荐指数
3
解决办法
2万
查看次数