*sigh* nevermind.<div><br></div><div>I found it. Turns out there was:</div><div><pre><span class="hs-definition">liftMCT</span> <span class="hs-keyglyph" style="color:red">::</span> <span class="hs-layout" style="color:red">(</span><span class="hs-conid">Monad</span> <span class="hs-varid">m</span><span class="hs-layout" style="color:red">)</span> <span class="hs-keyglyph" style="color:red">=&gt;</span> <span class="hs-conid">MC</span> <span class="hs-varid">a</span> <span class="hs-keyglyph" style="color:red">-&gt;</span> <span class="hs-conid">MCT</span> <span class="hs-varid">m</span> <span class="hs-varid">a</span></pre>
<div>in an unexported module in the monte-carlo package all along. I just need to export it and I&#39;ll be good to go.</div><div><br></div><div>Thanks for your help!</div><div>  - Clark</div><br>On Tuesday, April 16, 2013, Clark Gaebel  wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The monad my code is currently written in is:<div><br></div><div>type MC = MCT Identity -- where MCT is the monad transformer version of it.</div>
<div><br></div><div>I have two options for threading state through this:</div>
<div><br></div><div>    MCT (ST s) a</div><div>    StateT s MC a</div><div><br></div><div>The first option would work if I had some function with the signature</div><div><br></div><div>MCT Identity a -&gt; MCT (ST s) a</div>

<div><br></div><div>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.</div><div><br></div><div>Can I see an example with &#39;lift&#39;?</div><div><br>

</div><div>  - Clark</div><div><br>On Tuesday, April 16, 2013, Ivan Lazar Miljenovic  wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 16 April 2013 15:04, Clark Gaebel &lt;<a>cgaebel@uwaterloo.ca</a>&gt; wrote:<br>


&gt; Hi list!<br>
&gt;<br>
&gt; I want to use MVectors in a StateT monad transformer.<br>
&gt;<br>
&gt; How do I do that? StateT isn&#39;t a member of &#39;PrimMonad&#39;, and I have no idea<br>
&gt; how to make it one.<br>
<br>
You can use Control.Monad.Trans.lift to lift the PrimMonad operations<br>
to PrimMonad m =&gt; StateT s m<br>
<br>
&gt;<br>
&gt; Regards,<br>
&gt;   - Clark<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Haskell-Cafe mailing list<br>
&gt; <a>Haskell-Cafe@haskell.org</a><br>
&gt; <a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
&gt;<br>
<br>
<br>
<br>
--<br>
Ivan Lazar Miljenovic<br>
<a>Ivan.Miljenovic@gmail.com</a><br>
<a href="http://IvanMiljenovic.wordpress.com" target="_blank">http://IvanMiljenovic.wordpress.com</a><br>
</blockquote></div>
</blockquote></div>