[Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-23 Thread Thomas Jäger
Hi, Sorry, I have to do a small correction to an earlier post of mine. On 7/9/05, I wrote: In order to move the function (\jmp - jmp `runC` jmp) into callCC, the following law, that all instances of MonadCont seem to satisfy, is very helpful. f = callCC g === callCC (\k - f = g ((=) k .

Re: [Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-18 Thread Magnus Carlsson
Hi Thomas and Tomasz, A late comment about a MonadFix instance for Cont/ContT: Thomas Jäger wrote: Hello Tomasz, This stuff is very interesting! At first sight, your definition of getCC seems quite odd, but it can in fact be derived from its implementation in an untyped language. On

Re: [Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-18 Thread Magnus Carlsson
Tomasz Zielonka wrote: On Fri, Jul 15, 2005 at 11:51:59PM +0200, Magnus Carlsson wrote: A while ago, I attempted to marry value recursion a la Levent Erkök with the continuation-monad transformer. It seems possible if the underlying monad has value recursion and references. Interestingly, all

Re: [Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-15 Thread Tomasz Zielonka
On Fri, Jul 15, 2005 at 11:51:59PM +0200, Magnus Carlsson wrote: A while ago, I attempted to marry value recursion a la Levent Erkök with the continuation-monad transformer. It seems possible if the underlying monad has value recursion and references. Interestingly, all mfix properties

[Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-10 Thread Tomasz Zielonka
On Sat, Jul 09, 2005 at 07:05:20PM +0200, Thomas Jäger wrote: Hello Tomasz, Hello Thomas, Haskell doesn't support infinite types, but we can get close enough by creating a type C m b such that C m b and C m b - m b become isomorphic: newtype C m b = C { runC :: C m b - m b } Thanks for

[Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-09 Thread Thomas Jäger
Hello Tomasz, This stuff is very interesting! At first sight, your definition of getCC seems quite odd, but it can in fact be derived from its implementation in an untyped language. On 7/7/05, Tomasz Zielonka [EMAIL PROTECTED] wrote: Some time ago I wanted to return the escape continuation out

[Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-09 Thread Tomasz Zielonka
On Thu, Jul 07, 2005 at 06:02:36PM -0700, [EMAIL PROTECTED] wrote: Delimited continuations are really cool. Thanks for the pointer. I am reading the paper by Dybvig, Jones and Sabry right now. Best regards Tomasz ___ Haskell-Cafe mailing list

[Haskell-cafe] Re: Control.Monad.Cont fun

2005-07-07 Thread oleg
Tomasz Zielonka wrote: Some time ago I wanted to return the escape continuation out of the callCC block, like this: getCC = callCC (\c - return c) patterns like this are characteristic of shift/reset -- From http://www.haskell.org/hawiki/MonadCont reset :: (Monad m) = ContT a m a - ContT