On Nov 10, 2008, at 3:19 AM, marcomaggi wrote:

I understand why it works but not why your proposal should be
better; both the ". rest" and "rest ..." subpatterns match zero or
more elements of the input, and here they both appear in cdr
position and we take the whole "rest" we do not need to
destructure it.

"rest ..." matches a proper list of length 0 or more.
". rest" matches anything.

The difference would be where the error occurs if you do
(macro 1 . 2) or any other improper macro use.  In the
first case, the error will be signaled at the macro use
site with the appropriate source position.  In the second
case, you'd get a "error in apply: not a proper list"
kind of error.  It's better to fail early.

Aziz,,,

Reply via email to