In CLOS, instance remorphing considered useless in practice?

Jean-Claude Beaudoin jean.claude.beaudoin at
Wed Dec 9 10:01:46 UTC 2020

On Wed, Dec 9, 2020 at 4:36 AM Hans Hübner <hans.huebner at> wrote:

> Am Mi., 9. Dez. 2020 um 09:10 Uhr schrieb Jean-Claude Beaudoin <
> jean.claude.beaudoin at>:
>> 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.
> "I don't want to silence a lively discussion, but" several people have
> made the point that they found CLOS's  mechanisms to deal with class
> redefinition useful.  I can add myself to the list:  When I was writing a
> CLOS based database system, I used CHANGE-CLASS and the associated helper
> methods to support schema evaluation.  It did not work perfectly for all
> cases, but it worked well enough and felt like the MOP API was made exactly
> for this kind of thing.
> Given the discussion until now, Jean-Claude, what is it that you're trying
> to accomplish with this debate?

I am curious to survey the state-of-the-experience-so-far on this issue.

> Are you up for proving that the MOP is "wrong"?

No, not "wrong" on any "essential" point at least.

> You have repeatedly indicated that this would be your opinion.

Had no awareness that I did so up to this point.

> If so, are you trying to create a new version of the MOP that would not
> include class redefinition hooks?

No, I still consider AMOP to be part of the holy scriptures of Common Lisp.

> Or are you up for creating a new Lisp or a new Lisp object system that is
> inspired by the MOP but somehow different?

I am not that ambitious. (And make it fly on the top of it, man! I would be
out of my mind, wouldn't I?)

> I think the ship has sailed anyway.  Common Lisp, CLOS and the MOP are
> what they are.  I still think they're beautiful, but they are also a
> product of the era in which they were created.  Time has not stood
> still, and 20 years have passed without CL having changed or adapted to any
> new developments in computing.  Even though in many respects, Common Lisp
> has aged well, there are areas in which the language itself is in the way
> of adapting to the modern world.  Multiple threads come to mind, as do cons
> cells and CLOS, too.  What else is there?  I'd be interested in reading
> opinions.
> I like using CL when I know that I don't need scalability and when I know
> that I'll be the only developer of the program that I'm writing.  Under
> these circumstances, I enjoy it very much because it caters for this
> setting.
And I'd like it with scalability too, how about that?  The "only developer"
part I simply do not get. What is the deal with the solitary state here?

> -Hans
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the pro mailing list