[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
If you want to know why the default for :CONC-NAME in DEFFLAVOR is what
it is, the easy answer is that I assumed the designers of Common Lisp
DEFSTRUCT knew what they were doing so I did the same thing.
A curious assumption. I've heard rumors that those guys got a lot of
things wrong, and have been fighting about these things ever since.
But seriously, the first time I read the CommonLoops document, and again
when I read the New Flavors document, my immediate reaction was that
given this new type-specialized function-calling syntax, one will seldom
want a conc-name. We no longer have to say SHIP-MASS, since the version
of MASS that applies to ships can now just be called MASS, and it won't
interfere with SPACESHIP-MASS or REQUIEM-MASS. I have been meaning to
suggest ever since then that maybe we should change the default for
:CONC-NAME in DEFSTRUCT to be no conc-name (while allowing users to ask
for a conc-name if they want one).
I've stayed out of this debate, since I've got practially no experience
in using object-oriented systems for anything large, so I'm not entitled
to an opinion. I just wanted to suggest that we shouldn't be bound by
the CONC-NAME rules of Common Lisp and we shouldn't follow them blindly,
since type-specialized functions, if we adopt them, make the
name-conflict game totally different from what it was before.