[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On page 1-6 of the draft, there is the following paragraph:
A class can have a -name-, which is a symbol. The function CLASS-NAME
takes a class object and returns its name. The name of an anonymous
class is NIL. The function SYMBOL-CLASS takes a symbol and returns the
class associated with that symbol. We say that a class C has a -proper
name- S if C = (SYMBOL-CLASS S). Notice that it is possible that C /=
(SYMBOL-CLASS (CLASS-NAME C)).
I interpret this paragraph to mean that after the following code
executes, the class C has two proper names, ONE and TWO:
(let ((c (make-instance 'standard-class ...)))
(setf (symbol-class 'one) c)
(setf (symbol-class 'two) c))
Is this really the intent of the paragraph? I would hope not; there's
nothing particularly `proper' about that arrangement. I hope that the
paragraph really means to say that S is the -proper name- of a class C
if and only if S = (CLASS-NAME C) and C = (SYMBOL-CLASS S).
If this were the operative definition, then one could indeed say, as the
draft does in several places, "the proper name of C", since there would
be at most one such name.
Is this what's really meant on page 1-6?