[Haskell] Crazy class stuff

Taral taralx at gmail.com
Tue Mar 13 03:48:17 EDT 2007

I tried this:

class MonadTrans' i o where
    lift' :: i a -> o a

instance (MonadTrans t, Monad m) => MonadTrans' m (t m) where
    lift' = lift

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

And it doesn't work. I know what I want it to do, how do I express it right?

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

More information about the Haskell mailing list