如何构建一个Haskell项目?

我目前正在尝试使用测试驱动开发方法来做一个Haskell项目。 在Java中,我们可以创建一个包含src和bin文件夹的结构良好的项目,然后使用JUnit进行单元测试的主文件夹和测试文件夹。 我只是想知道是否有一种标准的方法来在Haskell中获得这样的结构? 源文件夹的二进制文件夹,源文件夹中的两个文件夹之一用于测试主源文件夹。


现代的答案是使用Haskell工具堆栈。 这将使用理智默认值为您构建项目。


我一直在参考Haskell项目的结构和如何编写一个Haskell程序,该程序阐明了社区或多或少似乎遵循的一些默认值。 到目前为止,它对我来说效果很好,但我的项目还没有很大规模。

Haskell项目的结构中的建议听起来与您在文章中列出的内容类似,只需进行一些小的修改,例如测试文件夹与src文件夹位于同一目录中。

编辑:

cabal init将为您生成一个最小金额,包括具有相关依赖关系的cabal文件,如果您至少有任何带有导入的文件。 这是一个很好的开始,但只是你正在寻找的一部分。

理想情况下,随着项目的增长,cabal文件和目录层次结构将自动保持最新,但我不知道任何公开的工具都可以做到这一点。 这也许是我有一天的名单,因为我相信它对很多人来说都是如此。

-odir-hidir可以和ghc一起使用,将* .o和* .hi文件放在不同的目录中。 您可以在GHC用户指南关于单独编译的章节中阅读更多内容)

EDIT2:

其他相关/重叠的职位:

  • Haskell程序的基本结构
  • Haskell模块命名约定
  • Haskell的大规模设计?
  • 链接地址: http://www.djcxy.com/p/42871.html

    上一篇: How to structure a Haskell project?

    下一篇: Struggling with using pure functional programming to solve an everyday problem