7

我刚刚意识到我可以定义自己的 Prelude 模块并仔细控制它的导出。这被认为是不好的做法吗?

优点:

  • 无需在大型项目中重复导入“通用”模块。

  • 无需写“导入前奏隐藏(catch)”。

4

1 回答 1

9

一般来说,这是一个坏主意,因为您最终会使用自己的惯用语编写代码,而其他人不容易维护。

要与他人交流,您需要一种共享的符号语言。ThePrelude是我们的核心语言,所以如果你重新定义它,可能会感到困惑。

此规则的例外是在开发嵌入式领域特定语言时。在那里,制作自定义 Prelude 完全是一个好主意,这也是为什么可以重新定义 Prelude(和内置语法)的原因。

无论如何都有自己的附加模块,但不要覆盖 Prelude。

于 2012-11-30T17:32:54.247 回答