有没有办法把 {-# LANGUAGE <feature> #-}
的实用性。
<project>.cabal
,或stack.yaml
文件,以避免在每一个 项目的*.hs 文件?
正如 @user2407038 在评论中所说的,你可以在项目中使用 default-extensions
字段 <project>.cabal
文件。
如果你想拥有 OverloadStrings
和 GADTs
在项目中的所有模块中,你会把它列在cabal文件的相关部分(例如,如果你想让所有的库文件都使用它,就把它放在库中)。
例如:如果你使用的是一个模块,那么你可以把它放在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
...