gpt4 book ai didi

Haskell 语言扩展 : pragma vs. 编译器标志?

转载 作者:行者123 更新时间:2023-12-02 17:49:59 26 4
gpt4 key购买 nike

要在项目的所有文件中使用语言扩展(例如 UnicodeSyntax),有 2 个选项:

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

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

我正在使用 stack 及其标准 new-template 来构建简单的包。

最佳答案

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

我认为能够浏览 Cabal 规范来了解特定包使用哪些扩展是有道理的。

关于Haskell 语言扩展 : pragma vs. 编译器标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33769552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com