[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: RMS at MIT-AI
- From: George J. Carrette <GJC at MIT-MC>
- Date: Wed ,4 Feb 81 13:23:00 EDT
- Cc: LISP-FORUM at MIT-AI
Having (OPTIONAL) with no variable name mean "following variables are
optional by default" has the same problem problem as &kewords.
That is, it forces a kind of parsing on any function-defining special form.
More parenthetical would be
((OPTIONAL X) (OPTIONAL Y)) <=> (OPTIONALS X Y). You can even have
AUX variables with no problem, (AUX FOO) or (AUXS FOO BAR BAZ).
Also, this gives a way of saying
(DEFUN FOO (X Y (AUX Z (+ X Y)) P Q (OPTIONAL R (* Z 4))) ...)
Think about how often the syntax of a language limits the
possible things one can say in it. It may make the things
one says most often shorter to say, but it is still nice to
have a uniform, very lispy semantic level.
Here is a paraphrased quote from the CGOL manual (of all things) :
"one of the best things about CGOL is that it allows you to escape
into lisp syntax easily, with the "!" operator, for those cases
where you can't easily figure out how to say what you want to
say in the CGOL syntax"
On that note, what is the feeling on having "&" be a readmacro?