你可以在同一个cabal包中有一个可执行文件和库

时间:2014-06-20 07:29:55

标签: haskell cabal

我是新用的cabal,我需要我的包包含一个小的可执行文件以及整个库。 是否可以这样做(导出可执行文件和库)或者cabal包是否具有type(可执行OR二进制)。 是否也可以在同一个packagke中导出许多可执行文件?

1 个答案:

答案 0 :(得分:8)

是的,你可以。例如,以下是我强烈推荐的HaskellStarter project的相应摘录:

-- configuration for building a library
library
  hs-source-dirs: src
  exposed-modules:
    HaskellStarter.CommitPrinter
  other-modules:
    HaskellStarter.Util
  build-depends:
    base >= 4 && < 5,
    github >= 0.7.4 && < 0.8

-- configuration for an executable
executable githubCommitPrinter
  hs-source-dirs: executables
  main-is: Main.hs
  build-depends:
    base >= 4 && < 5,
    haskell-starter

注意库如何在可执行的依赖项中重用。