Hi Cafe.
I've been using these three small transformer libraries for awhile, so
it's probably time to announce them.
transformers-base[1] introduces a generalized version of MonadIO,
MonadBase (BaseM in monadLib terms). It's very useful when you are
trying to make a stateful API work in both IO and STM (and all
transformer stacks on top of them).
transformers-abort[2] basically gives you two versions of EitherT, one
for errors and one for short-circuiting. Includes instances for
semigroupoids and monad-control classes.
monad-abort-fd[3] is a typical companion auto-lifter package for
transformers-abort. But it also provides a generalized version[4] of
Control.Exception which tries to thread effects properly (e.g.
finalizers can read (if control didn't escape) and modify the state in
StateT).
[1] http://hackage.haskell.org/package/transformers-base
[2] http://hackage.haskell.org/package/transformers-abort
[3] http://hackage.haskell.org/package/monad-abort-fd
[4]
http://hackage.haskell.org/packages/archive/monad-abort-fd/0.3/doc/html/src/Control-Monad-Exception.html
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe