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 .
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
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
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
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
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
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
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