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 bitc-dev@coyotos.org http://www.coyotos.org/mailman/listinfo/bitc-dev