[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Some easy ones (?)
- To: common-lisp@SU-AI.ARPA
- Subject: Re: Some easy ones (?)
- From: Masinter.pa@Xerox.COM
- Date: Tue, 22 Jul 1986 02:15:00 -0000
- In-reply-to: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>'s message of Mon, 21 Jul 86 21:46 EDT
---------------------------------------------------------------------------
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.