2015-12-21 2 views

答えて

4

この例では、両方の注文に実際の違いはありません。その理由は:ExceptTを含む多くの変圧器とは異なり、 “であり、それを適用する基本モナドには”独自の動作を注入しますが、リリース参照を渡すことで全体の動作を開始します。

あなたは(私は簡単のためMaybeT代わりのExceptTを参照してくださいよ、彼らは明らかに、この質問の目的のために同等です)タイプを書き出す場合、あなたは基本的に

type MaybeResourceT m a = MaybeT (IORef RelMap -> m a) 
         = IORef RelMap -> m (Maybe a) 
type ResourceMaybeT m a = ResourceT (m (Maybe a)) 
         = IORef RelMap -> m (Maybe a) 

すなわちを持っています実際には同等の型です。私はあなたがその操作のためにそれを示すこともできると思います。

関連する問題