[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Various of Danny's Comments
- To: RPG@SAIL.STANFORD.EDU
- Subject: Re: Various of Danny's Comments
- From: Danny Bobrow <Bobrow.pa@Xerox.COM>
- Date: 2 Feb 87 17:42 PST
- Cc: common-lisp-object-system@SAIL.STANFORD.EDU
- In-reply-to: Dick Gabriel <RPG@SAIL.STANFORD.EDU>'s message of 02 Feb 87 16:45 PST
- Sender: Bobrow.pa@Xerox.COM
I think this is pretty lousy. Having special hidden arguments
is bad in the same way that non-local references to variables are.
What does ``ONLY for parsing of extra parameters'' mean? Are we
really going to put the meta-object function
COMPUTE-EFFECTIVE-METHOD into CONCEPTS and FUNCTIONS?
All that has to be said in the concepts or functions chapter is that
"generic-function" is a well-known name. Within the body of
define-method-combination, extra parameters in the def-generic-option
:method-combination option are bound to the variables provided in the
lambda-list in define-method-combination.
``I vote for (:accessor-prefix) as the right way to say use the
slot-names.''
To quote a famous computer scientist, ``ugh, bletch.''
Vell, you got xomething better. We have two cases for names:
1) Create symbols for each of the methods (accessors) specified. Make
these symbols by interning the concatenation of prefix with the
slot-name. Intern the symbols in the package of the specified prefix.
2) Use the names of the slots for the accessors.
For the first we use (:accessor-prefix <symbol>)
For the second which special case do you like:
a) (:accessor-prefix)
b) (:accessor-prefix nil)
c) (:accessor-prefix ||)
Of these three ugly choices, I prefer the first. The second and third
have symbols that are interned in some package, and hence violate the
interning rule.
b) (:accessor-prefix nil)
c) (:accessor-prefix ||)
Of these three ugly choices, I prefer the first. The second and third
have symbols that are interned in some package, and hence violate the
rule.
danny