As the title says, I'm looking for a program that uses monad-transformers in combination with a large stack of Monads.
Does anybody know a real-world example?
One good example is Haskeline - its internal InputCmdT
type is a monad transformer stack of depth 6 (see here):
type InputCmdT m = StateT Layout (UndoT (StateT HistLog (ReaderT (IORef KillRing)
(ReaderT Prefs (ReaderT (Settings m) m)))))
Which can actually have curious effects, such as blowing one type signature in System.Console.Haskeline.Emacs up to over 20.000 lines for at least one GHC version...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With