marco mb@bese.it wrote:
because the inlined closure was modified in each loop. Dunno, if this is a bug or a feature or simply depends on the loop implementation (in which case it would probably also be a bug).
no, this is exactly how things should work. closures close over bindings, not values. the "fix" was just to change the lambda to (let ((meth method)) (lambda ... meth ...)), so that a new binding is created for each lambda.
Yes, that's even shorter. In retrospect I agree that it's no bug (but a feature). I was just assuming that it worked correctly on SBCL and MCL. ;)
structs have lots of implementation specific stuff about them. i think it'd be best to just implement (inspected-parts structure-class) in swank-allegro, swank-openmcl, etc.
I agree.
-ts