对于任何 .hs 文件,您可以指定您依赖的语言扩展名,如下所示:
{-# LANGUAGE Foo, Bar, Baz #-}
cabalized 项目还可以在 .cabal 文件中为每个项目指定语言扩展:
extensions: Foo, Bar, Baz
哪些被认为是“最佳实践”?是否应该在 .cabal 文件中列出所有使用的扩展,以记录您的包与哪些编译器兼容?还是应该在每个文件的基础上记录所有扩展名,以便明确哪些文件依赖于哪些扩展名?在这两个地方广泛记录呢?还是介于两者之间的最佳实践?