添加库Haskell项目

时间:2018-01-21 16:37:37

标签: haskell

我正在exercism进行一些Haskell练习。我已经达到了需要在项目中包含库的程度。但为了更清楚,我想包括库Data.List.Split。可以找到该库here

我尝试过一些Stack's文档但我似乎并不了解如何操作。我的项目有:

  1. package.yaml
  2. stack.yaml
  3. cabal档案
  4. 我希望他们有一个" dummies指南来使用堆栈"这是绝对的初学者能够理解的东西。

    请在解释答案时使用示例。

2 个答案:

答案 0 :(得分:1)

您应该将库split和特定版本添加到cabal部分的build-depends文件中。例如,如果您的cabal文件中包含以下内容:

build-depends:
  base >=4.7

现在Stack知道您的项目取决于base库,它应该要求版本大于或等于4.7。因此,要添加split库,您应该添加以下内容:

build-depends:
  split == 0.2.3.2

这简单地说您需要0.2.3.2库的split版本。

在这里,您可以阅读更多相关信息:Stack documentation(阅读工作流程部分),此处您有一个cabal文件示例,该文件需要一些库project.cabal example

答案 1 :(得分:0)

我想我找到了另一种方法。我需要在split文件中插入package.yaml作为其中一个依赖项,如下所示:

dependencies: - split 接下来是删除cabal文件,然后在终端中输入stack build

结果是它创建了一个新的cabal文件,而我不必对cabal文件进行任何特定更改。

新的cabal文件现在具有split作为依赖关系,因此:

build-depends: base , split

在新生成的cabal文件的顶部,它表示它是由package.yaml hpack文件生成的。