On Sat, Jun 23, 2012 at 12:22 PM, Anton Kholomiov <anton.kholom...@gmail.com > wrote:
> Why this function doesn't compile? > > phi :: Monad m => StateT s m () > phi = lift $ return () > > I get (ghc-7.4.1) > > Could not deduce (MonadTrans (StateT s)) > arising from a use of `lift' > from the context (Monad m) > This means exactly what it says: you have stated that m must be a Monad, but you didn't say anything about whether it's a MonadTrans, so you can't use "lift". The correct signature would be phi :: (Monad m, MonadTrans m) => StateT s m () -- brandon s allbery allber...@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe