标签: haskell-stack

Cabal和Stack有什么区别?

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

haskell cabal haskell-stack

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

分析使用堆栈构建

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

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

haskell cabal haskell-stack

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

如何使用堆栈安装包?

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

cabal install hakyll
Run Code Online (Sandbox Code Playgroud)

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

haskell package-management cabal cabal-install haskell-stack

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

如何在Haskell项目中使用DLL?

我想在Haskell项目中使用外部库RDFox.

上下文:我使用GHC 7.10和堆栈在64位上运行Windows和Linux .RDFox是用C++编程的.可以使用Java和Python包装器下载RDFox共享库(.dll,.so).

目的:我想在我的Haskell项目中重用RDFox(.dll,.so)中的编译库,因此我需要为RDFox创建一个Haskell包装器.

问题:对于Haskell来说相对较新,我很难知道从哪里开始.我找到了几个关于这个主题的页面(来自Haskell wiki和StackOverflow),但工作流程和配置对我来说并不清楚.

问题:我想知道:

  1. 如何配置堆栈和cabal以使用外部库,在Windows Linux(不同的机器,相同的存储库)上构建.
  2. 如何在此外部库上配置GHCi以进行交互式测试.
  3. 将Python包装器转换为Haskell是最好的方法吗?我想避免分析RDFox C++代码.

haskell shared-libraries ghc cabal haskell-stack

43
推荐指数
1
解决办法
1333
查看次数

如何使用Stack安装/使用本地版本的软件包?

情况是,我正在尝试使用Stack安装Netwire.但是,最新的netwire 5.0.1存在一个问题,正如dhobbs报道的那样:http://hub.darcs.net/ertes/netwire/issue/13

由于我不知道何时会解决问题,我下载了回购并自行进行了更改.但是,我不明白如何安装这样的本地修补版本.stack install没有安装到~/.stack.有没有人有想法?

更新

现在我正在使用Stack开发一些其他库.如何让另一个项目使用该库?硬编码相对路径看起来非常难看.

haskell package cabal haskell-stack

29
推荐指数
1
解决办法
4448
查看次数

Haskell Stack从github安装包依赖

是否可以使用Haskell堆栈从github安装包的版本?

例如,在一个.cabal或一个stack.yaml文件中,如何在git repo/branch/revision中指向依赖?

haskell github dependency-management cabal haskell-stack

27
推荐指数
2
解决办法
4723
查看次数

使用Haddock和堆栈为我自己的代码生成文档

我已经用Haddock样式注释了我的代码,并希望生成可浏览的文档.由于我也使用堆栈,我想将文档生成集成到工作流程中.但是,我还没有能够产生任何有用的东西.

我可以跑

stack haddock
Run Code Online (Sandbox Code Playgroud)

它将生成我想要的样式的文档(深入内部~/.stack/),但它似乎只生成我依赖的包的文档,而不是我自己的代码.

我跑的时候

stack haddock --help
Run Code Online (Sandbox Code Playgroud)

我得到的印象是,我可以使用附加参数--haddock为我自己的项目生成文档,并--no-haddock-deps省略我的依赖项的文档.但是,当我跑

stack haddock --haddock --no-haddock-deps
Run Code Online (Sandbox Code Playgroud)

似乎什么也没发生.如果我stack clean首先它将重新编译我的所有代码,但没有生成输出,似乎以任何方式与文档相关.

作为一个中间解决方案,我也试过自己运行Haddock,即

haddock my-source.hs
Run Code Online (Sandbox Code Playgroud)

但后来我得到一个错误,它无法找到文件依赖的模块(由堆栈本地安装).这让我觉得文档生成必须以某种方式通过堆栈.我已经找了,但没有真正找到任何与配置文档.cabalstack.yaml文件相关的解释.

TL; DR

如何使用stack和Haddock为我自己的包中的代码生成文档?

haskell cabal haddock haskell-stack

26
推荐指数
2
解决办法
3679
查看次数

了解Haskell的堆栈程序以及解析器和LTS版本

我想了解如何使用stack和stackage.org.当我第一次安装并使用它时,stackage.org是在LTS-3.8("解析器").从那以后,stackage.org现在有了LTS-3.11.

首先,我想确认一下这意味着什么.Stackage是一个包的存储库,对于特定的LTS版本(例如3.8),包已经被验证可以一起工作.所以LTS-3.8的包装一起工作,LTS-3.11的包装也一起工作.继续 ...

当我跑步时stack new projectname,堆栈告诉我:

Checking against build plan lts-3.8
Selected resolver: lts-3.8
Run Code Online (Sandbox Code Playgroud)

这是否意味着该项目已设置为仅使用在LTS-3.8下验证的软件包和版本?

如果我现在想要启动一个新项目并希望在新项目中使用最新的LTS版本,我如何告诉堆栈默认执行此操作?

如果我想"升级"旧项目以使用新的LTS版本呢?

haskell haskell-stack

23
推荐指数
1
解决办法
4110
查看次数

如何卸载随堆栈安装的Haskell软件包?

如何使用堆栈工具卸载全局安装的Haskell软件包?

stack --help 显示不推荐使用uninstall命令.

  uninstall                DEPRECATED: This command performs no actions, and is
                           present for documentation only
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

23
推荐指数
1
解决办法
6922
查看次数

堆栈新命令无法下载 lts-14.1 的构建计划

堆栈失败并显示 404 HTTP 状态,无法下载 lts-14.1 的构建计划:

$ stack new my-project

[...]

Downloading lts-14.1 build plan ...
RedownloadInvalidResponse Request {
  host                 = "raw.githubusercontent.com"
  port                 = 443
  secure               = True
  requestHeaders       = []
  path                 = "/fpco/lts-haskell/master//lts-14.1.yaml"
  queryString          = ""
  method               = "GET"
  proxy                = Nothing
  rawBody              = False
  redirectCount        = 10
  responseTimeout      = ResponseTimeoutDefault
  requestVersion       = HTTP/1.1
}
 "/home/michid/.stack/build-plan/lts-14.1.yaml" (Response {responseStatus = Status {statusCode = 404, statusMessage = "Not Found"}, responseVersion = HTTP/1.1, responseHeaders = [("Content-Security-Policy","default-src 'none'; style-src 'unsafe-inline'; sandbox"),("Strict-Transport-Security","max-age=31536000"),("X-Content-Type-Options","nosniff"),("X-Frame-Options","deny"),("X-XSS-Protection","1; mode=block"),("X-GitHub-Request-Id","10DA:4457:1D507:285B9:5D55DA2D"),("Content-Length","15"),("Accept-Ranges","bytes"),("Date","Thu, 15 …
Run Code Online (Sandbox Code Playgroud)

haskell haskell-stack

23
推荐指数
1
解决办法
4298
查看次数