6

タイトルが示すように、モナドの大きなスタックと組み合わせてモナドトランスフォーマーを使用するプログラムを探しています。

誰かが実際の例を知っていますか?

4

2 に答える 2

8

良い例の 1 つがHaskeline です。その内部InputCmdT型は深さ 6 のモナド トランスフォーマー スタックです (こちらを参照)。

type InputCmdT m = StateT Layout (UndoT (StateT HistLog (ReaderT (IORef KillRing)
                (ReaderT Prefs (ReaderT (Settings m) m)))))

System.Console.Haskeline.Emacs の 1 つのタイプ シグネチャを、少なくとも 1 つの GHC バージョンで 20.000 行以上吹き飛ばすなど、実際には興味深い効果があります...

于 2012-10-12T10:28:10.157 に答える