[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DESCRIBE-ARGUMENTS; or, special variables considered disgusting
- To: common-lisp@SU-AI.ARPA
 
- Subject: DESCRIBE-ARGUMENTS; or, special variables considered disgusting
 
- From: Guy Steele <gls@Think.COM>
 
- Date: Mon, 21 Jul 86 14:45 EDT
 
- Cc: gls@AQUINAS
 
- In-reply-to: <8607151422.AA01086@Zarathustra.Think.COM>
 
    Date: Tue, 15 Jul 86 10:20 EST
    From: mike%gold-hill-acorn@mit-live-oak.ARPA
    ...
    Info is also lost if it is a string. Package qualifiers are needed to
    tell which variables are being bound if any of the symbols in the arglist
    are specvars. 
Arrgghhh.  Letting any binding construct bind special variables
was a BIG mistake.  Should have had a SPECLET construct and nothing
else.
Anyway, now that we are stuck with it, how about
FUNCTION-PARAMETER-NAMES has a symbol in the result if it is special and
a string if it is not?
(IN-PACKAGE 'YUK)
(DEFUN FOO (A B &REST C) (DECLARE (SPECIAL A C)) ...)
(IN-PACKAGE 'USER)
(FUNCTION-PARAMETER-NAMES 'YUK:FOO) => (YUK:A "B" &REST YUK:C)
That will show them!  (Seriously, is specbinding any business of the
caller of FUNCTION-PARAMETER-NAMES?)
--Guy