On Wed, Nov 07, 2007 at 06:02:42AM -0800, Elf wrote: > of course it does :) all closures have their own namescope, as you put it.
"Namescope" is what I come up with when lacking caffeine. That bug has been fixed in the meantime. > what you demonstrated above is the trick of associating state with a > lambda. :) Yes. I mentioned it because newbies might follow the conversation. As far as the style guide is concerned, I think it is useful to keep the possibly differing semantics in mind: (define (bla blubb) ; accept all bindings as they are now ...) (define bla ; I need some original bindings here (let ((...)) (lambda (blubb) ...))) So, (define (bla blubb) ...) is my default. I agree with all the reasons you gave. NB: the Chicken compiler assumes standard bindings by default. Hence, redefining * will work in csi, but it will not work, if compiled without (declare (not standard-bindings *)). Benedikt _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users