*sigh* nevermind.
liftMCT :: (Monad m) => MC a -> MCT m a
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) aStateT s MC aThe first option would work if I had some function with the signatureMCT Identity a -> MCT (ST s) abut 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 <cgaebel@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.Miljenovic@gmail.com
http://IvanMiljenovic.wordpress.com