有没有办法将{-# LANGUAGE <feature> #-}
pragma放在:
<project>.cabal
或stack.yaml
文件,以避免在项目的每个 *。hs 文件中重复相同的标题代码?
答案 0 :(得分:2)
正如@ user2407038在评论中所说,您可以使用<project>.cabal
文件中的default-extensions
字段。
如果你想在项目的所有模块中都有OverloadStrings
和GADTs
,你可以将它列在你的cabal文件的相关部分(例如,如果你想要它用于你的所有库文件,把它放在库中)。
例如:
-- <project>.cabal
...
library
hs-source-dirs: src
default-extensions: GADTs
, OverloadedStrings
...
如果您使用package.yaml
配置文件生成<project>.cabal
文件,则还可以在此处指定此字段。
-- package.yaml
library:
source-dirs: src
default-extensions:
- OverloadedStrings
- GADTs
exposed-modules:
- MyModule
...
答案 1 :(得分:0)
哇,这很烦人。来自 cabal 的错误消息字面意思是使用“extensions:”,但您必须使用“default-extensions:”...