
On Sun, Nov 29, 2009 at 11:37:45AM -0800, Alexander Dunlap wrote:
What is the plan for letting the two co-exist? Is everyone going to have to write instances that work with both monads-{tf,fd} and then export duplicate functions that have monad classes in their signatures?
Most clients just use the transformers to make composite monads, and the classes to get the operations. They can just pick one or the other for their private use. People defining and exporting their own monads will probably want to make them instances of both versions of the classes. If a package's interface uses the transformers (or the Haskell 98 classes MonadTrans and MonadIO), it will work with both monads packages. That leaves the packages that have FD or TF classes in their interfaces.