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