为什么有一个单独的类型模块?
Why having a separate module for types?
为什么通常将 类 和类型定义放在特殊的 Types 模块中,而不是将它们放在相应的命名空间中?
例如,我们取 Config record from Yi source code. Why has it been decided to define it inside Yi.Types instead of Yi.Config?
几乎总是这样做是为了避免模块之间的循环依赖。 GHC 对它们的处理非常糟糕。它们在理论上是允许的,但这种机制非常痛苦,几乎总是被避免。
为什么通常将 类 和类型定义放在特殊的 Types 模块中,而不是将它们放在相应的命名空间中?
例如,我们取 Config record from Yi source code. Why has it been decided to define it inside Yi.Types instead of Yi.Config?
几乎总是这样做是为了避免模块之间的循环依赖。 GHC 对它们的处理非常糟糕。它们在理论上是允许的,但这种机制非常痛苦,几乎总是被避免。