如何在Haskell中处理这种循环模块依赖

时间:2015-03-05 12:50:58

标签: haskell cyclic-dependency

简化版层次结构:

module A where

import MyState

data A a = A (StateT MyState IO a) deriving (...)

现在有一个模块MyState:

module MyState where

import SomeType

data MyState = MyState { st :: SomeType, ... }

最后介绍循环依赖的模块:

module SomeType where

import A

data SomeType = SomeType { f :: A (), ... }

正如您所看到的,我的SomeType导入A,因为我们需要其中一个字段。而A是导入导入循环依赖的sometype的状态。

解决这种循环依赖的方法是什么?感谢。

0 个答案:

没有答案