5

要在项目的所有文件中使用语言扩展名UnicodeSyntax,有两个选项:

  • 每个源文件中的编译指示: {-# LANGUAGE UnicodeSyntax #-}
  • 添加extensions: UnicodeSyntax文件的每个部分(库、可执行文件、测试).cabal

是否有任何理由或最佳实践来选择其中之一?

我正在使用stack和他们new-template的简单包标准。

4

1 回答 1

5

就个人而言,我总是列出每个使用它们的文件中的所有语言扩展名。然后,您只需查看代码即可准确判断特定代码正在使用哪些扩展。这意味着我可以立即判断,例如,这段代码是否在使用 Template Haskell 执行某些操作。而且我不必查看任何相关文件来弄清楚这一点。这也意味着我可以从命令行手动编译那个模块,而不必记住我需要哪些扩展。

我想有话要说,因为能够浏览 Cabal 规范以了解特定包使用了哪些扩展。

于 2015-11-18T12:44:05.300 回答