[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Some easy ones (?)

Proposal #6: Parsing in &BODY

I like (KMP's) &body body-var [declarations-var [doc-string-var]] over
Proposal #6.

1)  KMP's is better style:
a)  every other part of the argument list a list means (a
a-default-value) but Proposal#6 would mean (body declarations-var)
b) a list in &rest means to destructure; Proposal#6 would make a list
after &rest and &body mean very different things. 
2) KMP's is simpler to describe in the manual. (No, "if you say (foo) it
means the same as foo")
3) upward compatible
For the many of the same reasons, I don't like allowing default or
supplied-p values for these; in addition, it is meaningless (what's the
difference between body not supplied and body = NIL?), and more
difficult to implement.

Proposal #7:  TYPE-SPECIFIER-P
How about restricting it to symbols? Otherwise, there are imponderables,
e.g., if I say

(deftype frobnitz (&key a b) ...)

is (type-specifier-p '(frobnitz :a 3)) true and (type-specifier-p
'(frobnitz :c 3)) false?  
Is (type-specifier-p '(array (3 3 #(a vector in the wrong place)))) true
or false?

At least with symbols there's some hope of a simple definition.