<br><div class="gmail_quote">2011/11/21 David Menendez <span dir="ltr">&lt;<a href="mailto:dave@zednenem.com">dave@zednenem.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<br>
Here&#39;s how you might implement your monad using Cont,<br>
<br>
type InteractionM a b = Cont (Interaction a b)<br>
<br>
exit b   = Cont $ \k -&gt; Exit b<br>
output b = Cont $ \k -&gt; Output b (k ())<br>
input    = Cont $ \k -&gt; Input k<br>
runM m   = runCont m Exit<br></blockquote><div><br></div></div>That&#39;s what I originally wanted to know. I guess I struggled with the definition of output.<br>Oh, there&#39;s so much more to learn...<br><br>Thanks,<br>
Tim<br><br>