*sigh* nevermind. I found it. Turns out there was:
liftMCT :: (Monad m) => MC a -> MCT m a in an unexported module in the monte-carlo package all along. I just need to export it and I'll be good to go. Thanks for your help! - Clark On Tuesday, April 16, 2013, Clark Gaebel wrote: > The monad my code is currently written in is: > > type MC = MCT Identity -- where MCT is the monad transformer version of it. > > I have two options for threading state through this: > > MCT (ST s) a > StateT s MC a > > The first option would work if I had some function with the signature > > MCT Identity a -> MCT (ST s) a > > but I know of no such function, and the second one would work if I had > some way of making StateT a member of PrimMonad. > > Can I see an example with 'lift'? > > - Clark > > On Tuesday, April 16, 2013, Ivan Lazar Miljenovic wrote: > >> On 16 April 2013 15:04, Clark Gaebel <cgae...@uwaterloo.ca> wrote: >> > Hi list! >> > >> > I want to use MVectors in a StateT monad transformer. >> > >> > How do I do that? StateT isn't a member of 'PrimMonad', and I have no >> idea >> > how to make it one. >> >> You can use Control.Monad.Trans.lift to lift the PrimMonad operations >> to PrimMonad m => StateT s m >> >> > >> > Regards, >> > - Clark >> > >> > _______________________________________________ >> > Haskell-Cafe mailing list >> > Haskell-Cafe@haskell.org >> > http://www.haskell.org/mailman/listinfo/haskell-cafe >> > >> >> >> >> -- >> Ivan Lazar Miljenovic >> ivan.miljeno...@gmail.com >> http://IvanMiljenovic.wordpress.com >> >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe