我正在研究用Haskell编写的基于数据流的优化库.现在看来,图书馆可能需要分成两部分:
甲芯片具有最小构建依赖关系; 叫它hoopl-core
.
一个完整的部分,调用它hoopl
,它可能对包,如prettyprinter,QuickCheck等具有额外的依赖性.
我们的想法是格拉斯哥Haskell编译器只依赖于hoopl-core
它,因此引导编译器不会太困难.其他编译器将获得额外的好处hoopl
.套餐hoopl
将取决于hoopl-core
.
Debian包工具可以从单个源树构建多个包.不幸的是,Cabal还没有达到那种复杂程度.但是必须有其他具有类似问题的库或应用程序设计者(例如,一个包用于核心库,另一个用于命令行界面,另一个用于GUI界面).
使用Cabal构建和管理多个相关Haskell软件包的当前最佳实践是什么?