On Mar 8, 2012 11:43 AM, "Gábor Lehel" <illissius@gmail.com> wrote:
>
> On Thu, Mar 8, 2012 at 10:18 AM, Michael Snoyman <michael@snoyman.com> wrote:
> > My solution was to create a new typeclass[2]:
> >
> > class MonadLift base m | m -> base where
> >    lift :: base a -> m a
>
> Have you seen:
> http://hackage.haskell.org/package/transformers-base

Yes, I actually use it quite a bit via monad-control. However, MonadBase has a different purpoe: an instance of MonadBase for Widget would be intended to lift to IO, not to Handler. But perhaps transformers-base would be a good place to include a typeclass like MonadLift.

Michael