19:17:10alcor_death: To quote the CLHS: "If in the old class there is any slot of the same name as a local slot in the new-class, the value of that slot is retained"
19:20:00_deaththat just sounds like part of the protocol.. granted if a programmer didn't expect it to happen, may have footache, but doesn't that mean that anything can serve as a footgun?
19:26:03alcorIt makes naming collisions hurt, but admittedly I don't know how a better solution could look like (perhaps raising a condition?)
19:27:47alcorThe issue is that it's subtle and causes no explicit error. It's one of these things that can create difficult-to-debug issues.
19:27:58_deathbut I agree that change-class (that requires an instance evolution protocol) is more elaborate
20:30:22pveI was wondering the other day if "become:" can be simulated in CL somehow, but it probably can't, right?
20:30:58pve(I'm currently hacking on my smalltalk-in-lisp :)