[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Comment on the chapter 2, Version of Nov 2.
Date: 3 Nov 87 10:29 PST
From: Danny Bobrow <Bobrow.pa@Xerox.COM>
2-21 syntax
replace {slot-option}* by [[â?? slot-option]]
and use
{:accessor generic-function-name}*
{:reader generic-function-name}*
{:initarg name}*
as the last three items of slot-option. Then the remarks on which
options can appear more than once in Arguments are redundant.
Stylistic comment: I hope we are not changing the style so that it is
impossible for a reader who skips over the BNF syntax notation to
understand the document. I think that would be most unfortunate. I'd
much rather have a little redundancy than make it necessary to
understand the fine points of this increasingly obscure notation in
order to understand the document.
2-26
The syntax of defgeneric now shows a lambda-list as a required argument.
I thought :lambda-list was supposed to be a keyword argument. Similarly
for generic-labels, generic-flet, generic-function, and
with-added-methods. When there are method descriptions provided, the
lambda-list is often redundant, and hence can be a cause for mistakes.
My notes from the meeting show that there was no required lambda-list,
at least for the generic-labels, generic-flet, generic-function, and
with-added-methods. Hence by extension, there should not be a required
lambda-list in defgeneric.
I don't think we agreed in the meeting to remove these lambda-lists. My
copies of the draft documents from the meeting show the lambda-list (along
with a bunch of other stuff) missing in the first version of some writeups,
but present in the second version that we produced after discussion and
rationalization of the syntax of all the things having to do with generic
functions. Perhaps you got mixed up on which version was newer? There are
no dates on these pages but at the meeting I wrote "old" or something
on the older ones.
More comments later, perhaps.