[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