标签: haskell design-patterns types
为什么将类和类型定义放在特殊的 Types 模块中而不是将它们放在相应的命名空间中是很常见的?
例如,让我们从Yi源代码中获取Config条记录。为什么决定在Yi.Types而不是Yi.Config中定义它?
答案 0 :(得分:9)
几乎总是要避免模块之间的循环依赖。 GHC处理得非常糟糕。它们在理论上是被允许的,但机制非常痛苦,几乎总是被避免。