我发现自己在我的 cabal 项目中经常使用这种 pragma 来强制 GHC 使用特定选项进行构建:
{-# OPTIONS_GHC -XFlexibleInstances -XRankNTypes ... #-}
但是当我看到其他人使用扩展时,他们总是这样声明:
{-# LANGUAGE FlexibleInstances, RankNTypes, ... #-}
但是,当我在使用后一种方法的 GHCi 中加载文件时,GHC 总是抱怨我正在使用 anunrecognised pragma
并立即失败。
为什么GHC不接受LANGUAGE
pragma,两者哪个更好?
注意:我的 GHC 版本是最新的:7.8.3,但发生这种情况时是 7.6.*。