In CLOS, instance remorphing considered useless in practice?
Marco Antoniotti
marco.antoniotti at unimib.it
Wed Dec 9 08:54:40 UTC 2020
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.beaudoin at 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é <fahree at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/pro/attachments/20201209/86fcd34d/attachment.html>
More information about the pro
mailing list