In article <[EMAIL PROTECTED]>,
 I wrote:

> I don't believe you. My implementation uses Haskell's "mfix", which 
> looks like a Y to me. I certainly don't use anything like "set!". 

Actually, on looking at the code for my monad, it turns out I do.

I spent awhile trying to figure out how to make a monad that could lift 
IO, and was also an instance of both MonadCont (so I could do 
call-with-current-continuation) and MonadFix (so I could do letrec the 
way I wanted it). I use CPS, and my implementation of mfix actually uses 
newIORef, writeIORef and readIORef directly. But I'd forgotten...

-- 
Ashley Yakeley, Seattle WA

_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to