Haskell 消除阴谋集团文件中的重复
在我的Haskell 消除阴谋集团文件中的重复,haskell,cabal,Haskell,Cabal,在我的.cabal文件的许多章节中,我经常有类似的属性。例如 Library x ... ghc-options: -O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns -fno-warn-name-shadowing Executable y ... ghc-options: -O2 -Wall -fno-warn-missing-signa
.cabal
文件的许多章节中,我经常有类似的属性。例如
Library x
...
ghc-options:
-O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns
-fno-warn-name-shadowing
Executable y
...
ghc-options:
-O2 -Wall -fno-warn-missing-signatures -fwarn-incomplete-patterns
-fno-warn-name-shadowing
保持它们的一致性既单调又容易出错。有更好的办法吗
更棘手的是,当字段相似但不完全相同时,例如,当我有几个具有共同构建依赖项但变化很小的可执行文件时。我认为
cabal
不提供该功能。不久前我也在想这件事。您可以看到。我编写了一个工具,可以更轻松地在Haskell中指定Cabal文件,这有助于处理此问题和其他一些问题
我认为目前没有什么好的解决方案。部分绕过此问题的两个选项是:(A)每个组件使用多个
ghc选项
字段(是的,这是可能的),从而使共享选项完全相同,差异更易于维护;和(B)从不包含冗余信息的其他来源生成您的阴谋集团文件。请参阅可能的副本