[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.