Eon*_*nil 16 haskell role relationship ghc cabal
据我所知,这cabal是一个管理FreeBSD软件包安装的程序pkg_add.但还有另一个工具叫做ghc-pkg.我不知道为什么有两个不同的程序.他们每个人的角色是什么?他们是如何相关的?
Mii*_*kka 12
Cabal是Haskell的建筑和包装库,有点像"Haskell autotools".它读取.cabal文件和Haskell包通常有一个文件Setup.hs,使用Cabal来构建包.然后还有cabalcabal-install软件包提供的命令.它提供了运行Setup.hs脚本和一些包管理功能的命令,比如直接从Hackage安装包.你应该阅读Ivan Miljenovic撰写的这篇博文,其中很好地解释了Cabal,cabal-install和Hackage的作用.
ghc-pkg是一个用于戳GHC包数据库的低级工具.Cabal旨在与每个Haskell编译器一起使用,而ghc-pkg显然特定于GHC.你不能使用ghc-pkg来构建任何东西,你可以只注册你已经构建的包.