Haskell骨架模板项目为初学者

时间:2013-06-30 17:22:02

标签: haskell import module

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

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

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

编辑:我更改了标题,以更好的方式反映我的问题。抱歉给你带来不便。

3 个答案:

答案 0 :(得分:4)

  1. 从中取出一个cabal pkg并在本地安装该包。
  2. 按照目录结构here进行操作,并在项目中使用这些构造函数,而不是跨项目。提到的结构基本上是一个cabal包的结构。
  3. 在编译ghc或加载ghci时手动添加输入源。 实施例

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

  4. 其中Foo.hs使用A.hs

    导出的元素

答案 1 :(得分:0)

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

https://github.com/tfausak/haskeleton

它确实添加了一些依赖项,如hlint和hspec。这是博客文章,其中介绍了每个决策:

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

答案 2 :(得分:0)

我发现这个:how to write a haskell program链接作为一个方便的参考。

@Tem Pora:你需要安装yesod和yesod-bin。此链接详细介绍了scaffolding

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

希望这有帮助。