
Hi there, Gabriel's `mmorph` library [1] provides such abstraction, i.e. `MMonad` type-class and `squash` function. [1]: http://hackage.haskell.org/package/mmorph
On 2018/04/09 21:45, Ross Paterson
wrote: On Thu, Mar 14, 2013 at 05:24:23AM +0200, Michael Snoyman wrote:
I'm wondering if this pattern exists and has a name. We have the concept of joining a Monad: join :: Monad m => m (m a) -> ma How about joining a monad transformer? joinT :: (Monad m, MonadTrans t) => t (t m) a -> t m a
This is a monad in the category of monads. Moggi discusses them in "An Abstract View of Programming Languages", including which transformers have joinT. I was thinking of adding the class to the transformers package. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
-- Hiromi ISHII konn.jinro@gmail.com Doctoral program in Mathematics, University of Tsukuba