2

簡略化された階層:

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 をインポートします。これは、フィールドの 1 つに必要だからです。そして A は、循環依存を導入する何らかのタイプをインポートする状態をインポートしています。

この循環依存を解決するにはどうすればよいでしょうか? ありがとう。

4

0 に答える 0