On Tue, 2008-03-11 at 15:08 +0100, Pierre THIERRY wrote:
> Scribit Jonathan S. Shapiro dies 11/03/2008 hora 09:09:
> > (define (outer x:'a)
> > (define (capture xc:(by-ref 'a))
> > (lambda (y)
> > (pair y, x)))
> >
> > Note that "x" is in the call frame of OUTER, it is aliased by "xc", "xc"
> > is in turn captured by the lambda, and the lambda escapes.
>
> I miss to see where xc aliases x.
That might be because I screwed up the example. Here is a simpler,
better example:
(define (outer x:(by-ref 'a))
(lambda (y)
(pair y, x)))
The problem is that any invocation of OUTER captures x.
Do we agree that this new example illustrates the problem correctly? I
think yours does too, but this is simpler.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev