gpt4 book ai didi

haskell - 我是否应该使用 GHC Haskell 扩展?

转载 作者:行者123 更新时间:2023-12-03 05:15:20 28 4
gpt4 key购买 nike

当我学习 Haskell 时,我发现有很多 language extensions在现实生活中使用的代码。作为初学者,我应该学习使用它们,还是应该不惜一切代价避免它们?我发现它破坏了与 Haskell 98 的兼容性,并将代码限制为几乎只能使用 GHC。但是,如果我在 Hackage 上浏览软件包,我会发现其中大多数都是仅 GHC 的。

那么,社区对于使用语言扩展的态度是什么?

如果可以使用扩展,那么我如何区分可以“安全”使用的扩展(那些可能成为下一个 Haskell 标准的一部分)和那些主要是“实验性”的扩展?例如,我认为 -XDisambiguateRecordFields很好用,但是将来可能会得到支持吗?

最佳答案

有一些 GHC 扩展是非常好用的。我最喜欢的是

  • 多参数类型类
  • 作用域类型变量
  • 更高级别的类型
  • 广义代数数据类型 (GADT)

其中真正重要的是多参数类型类。

某些 GHC 扩展具有很强的推测性和实验性,您可能需要谨慎使用。识别稳定且可信的扩展的一个好方法是查看它是否计划包含在 Haskell Prime 中。 ,有望成为 Haskell 98 的后继者。

我同意 Don Stewart 的建议,即每个扩展名都应在源文件中使用 LANGUAGE 编译指示进行标记。 不要使用命令行选项启用扩展。

关于haskell - 我是否应该使用 GHC Haskell 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/801785/

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