为什么要为类型设置单独的模块?

时间:2015-02-16 22:05:42

标签: haskell design-patterns types

为什么将类和类型定义放在特殊的 Types 模块中而不是将它们放在相应的命名空间中是很常见的?

例如,让我们从Yi源代码中获取Config条记录。为什么决定在Yi.Types而不是Yi.Config中定义它?

1 个答案:

答案 0 :(得分:9)

几乎总是要避免模块之间的循环依赖。 GHC处理得非常糟糕。它们在理论上是被允许的,但机制非常痛苦,几乎总是被避免。