Hi I used CHANGE-CLASS some time ago to ensure that I could read new data and reshape it. It was a much cleaner - and "built in" - solution than writing ad-hoc code which should eventually be "generalized".
I understand people get worked up about things they feel may be in their way of "efficient code". But guys! The world I see from my perch is running on Python and R. At the risk of sounding obnoxious (I am getting old; I can afford it :) ) there are other trees to bark on in the CL forest: mostly at the outskirts. Not that many at the core. All the best Marco On Wed, Dec 9, 2020 at 9:10 AM Jean-Claude Beaudoin < jean.claude.beaud...@gmail.com> wrote: > Hello Faré, > > I had you and ASDF somewhat in mind when I wrote the original post. > > On Tue, Dec 8, 2020 at 3:23 PM Faré <fah...@gmail.com> wrote: > >> I once used update-instance-for-redefined-class in ASDF, when I was >> trying to make a smooth upgrade from ASDF 1 to ASDF 2. The problem I >> found is that proper support for class redefinition requires the >> cooperation not only of the underlying object system, but also of all >> the parts of the implementation. It also requires more deterministic >> guarantees on what code gets inlined and what code doesn't get >> inlined. >> > > Inlining, what a can or worms! > > >> >> In ASDF 3, I threw the towel, and decided I could never get the OTHER >> parts of the system to cooperate (aka ASDF extensions for me, but also >> all the extensions to all existing programs being redefined), so I >> stopped using update-instance-for-redefined-class and instead went for >> deleting/overwriting/resetting functions, generic functions, and, in >> extreme cases, packages. >> > > I followed from somewhat afar your "acharnement" in that area, with some > bewilderment I'd say. > > >> >> I would love to see languages with better support for redefinition. >> Like unison, or darklang. Unhappily, >> update-instance-for-redefined-class, while very cool, is *not enough*. >> > > My point is that it is already too much. > > >> >> But in relatively small systems that are long-running, with everyone >> cooperating, like they had in the 1980s, it was probably sufficient. >> And it is a marvelous tool. If you control the entire application and >> want images to survive code evolution. >> > > In the late 1980s, all the Lisp Machines I touched were running ZetaLisp > with Flavors as OO extension. > And we were dropping CLTL1 version of Common Lisp on top of them before > our application code. > So, no CLOS. That came later... > > >> >> —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• >> http://fare.tunes.org >> Taxonomy is the death of science — A. N. Whitehead >> >> > BTW, I just received the latest book by Denis Robert titled "LARRY ET MOI, > comment BLACKROCK nous aime, nous surveille et nous détruit" and I dropped > it on my pile of books to read soon. Thought you'd be amused to know, > somehow. > > -- Marco Antoniotti, Associate Professor tel. +39 - 02 64 48 79 01 DISCo, Università Milano Bicocca U14 2043 http://bimib.disco.unimib.it Viale Sarca 336 I-20126 Milan (MI) ITALY