1

我有 3 个数据构造函数,即 A、B 和 C,它们在文件 A.hs、B.hs、C.hs 中定义,文件位于 project-utils 目录中。现在我想在其他项目的某些部分中使用这些数据构造函数。这些项目位于完全不同的目录中。如何在此类项目文件中导入 A、B 和 C 的数据和类型构造函数?

感谢下面给出的第一个答案,我意识到我正在寻找一个框架来以更好的方式组织这样的项目。我搜索但找不到任何这样的项目框架。那里提供的链接包含许多以模糊方式描述的内容。例如,在第 5 行它简单地写成“...”

我正在寻找的是,骨架项目不应该是 Haskell 网站上给出的非常简单的“单一”文件项目。但不应该过于复杂,因为我们在许多关于 hackage 的项目中看到了大量的依赖项等。

编辑:我更改了标题以更好地反映我的问题。带来不便敬请谅解。

4

3 回答 3

4
  1. 用它们制作一个 cabal pkg 并在本地安装该软件包。
  2. 遵循此处的目录结构,并在项目中而不是跨项目中使用这些构造函数。提到的结构基本上是一个阴谋集团的结构。
  3. 在编译ghc或加载时手动添加输入源ghci。例子

    ghci -i project-utils/A.hs Foo.hs

whereFoo.hs使用导出的元素A.hs

于 2013-06-30T18:05:33.440 回答
0

可能不是您正在寻找的东西,但对于这个问题的未来读者,Haskell 框架/模板项目刚刚在这里发布:

https://github.com/tfausak/haskeleton

它确实添加了一些依赖项,例如 hlint 和 hspec。这是博客文章,其中包含每个单独的决定:

http://taylor.fausak.me/2014/03/04/haskeleton-a-haskell-project-skeleton/

于 2014-03-10T13:36:02.637 回答
0

我发现了这个:如何编写一个haskell程序链接作为一个方便的参考。

@Tem Pora:您需要安装 yesod 和 yesod-bin。这个链接更多地讨论了脚手架

cabal install yesod
cabal install yesod-bin
<cdtoprojdir> yesod init

希望这可以帮助。

于 2014-03-10T18:09:40.453 回答