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,,,
