[Haskell] Re: Crazy class stuff

Taral taralx at gmail.com
Tue Mar 13 03:55:54 EDT 2007


On 3/13/07, Taral <taralx at gmail.com> wrote:
> This is closer, but still doesn't work:

And this works, and I don't know why:

class MonadTrans' i o where
    lift' :: (Monad i, Monad o) => i a -> o a

instance Monad m => MonadTrans' m m where
    lift' = id

instance (MonadTrans t, Monad b, MonadTrans' a b) => MonadTrans' a (t b) where
    lift' = lift . lift'

Help?

-- 
Taral <taralx at gmail.com>
"You can't prove anything."
    -- Gödel's Incompetence Theorem


More information about the Haskell mailing list