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 <javascript:;>> > 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 <javascript:;> > > http://www.haskell.org/mailman/listinfo/haskell-cafe > > > > > > -- > Ivan Lazar Miljenovic > ivan.miljeno...@gmail.com <javascript:;> > http://IvanMiljenovic.wordpress.com >
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe