
23 Jun
2012
23 Jun
'12
1:12 p.m.
On Sat, Jun 23, 2012 at 12:22 PM, Anton Kholomiov 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 allbery.b@gmail.com
wandering unix systems administrator (available) (412) 475-9364 vm/sms