no continuations

Kevin S. Millikin kmillikin at atcorp.com
Tue Dec 30 17:11:36 EST 2003


On Tuesday, December 30, 2003 5:04 PM, Kevin S. Millikin 
[SMTP:kmillikin at atcorp.com] wrote:
> Oh, sure.  I didn't mean to quibble with the idea that continuations
> are computational effects.  Just wanted to point out that (I think)
> you can't macro express mutation with call/cc, unless you've already
> got mutation anyway.

[snip]

> Yup.  If you do that, you can use d as your setter and c as your
> getter:
>
> > (define c (make-cell))
> > (define d c)
> > ((d 'set) 9)
> > (c 'get)
> 9
> > ((d 'set) 17)
> > (c 'get)
> 17

It sure looks like the example contradicts the assertion, but I happen 
to know that there is a set! (or some other assignment) in the macro 
expansion of define.  I'm just using call/cc to get at that, rather 
than getting at the one in the expansion of letrec.

Moved to Haskell Cafe.


More information about the Haskell-Cafe mailing list