[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Splicing macros following a dot
- To: ALAN at MIT-MC
- Subject: Splicing macros following a dot
- From: JONL at MIT-MC (Jon L White)
- Date: Thu, 2 Aug 79 03:19:00 GMT
- Cc: (BUG LISP) at MIT-MC, (BUG LISPM) at MIT-MC
- Original-date: 1 AUG 1979 2319-EDT
In your examples, you point out that a splicing macro which immediatly
follows a dot, *** and returns some non-null list ***, causes an unexpected
result; but you missed the point of returning a null-list, namely that
the stuff "just disappear". For example, what should
(A B . ;Well this is a comment
)
return? I claim it should be the same as
(A B . )
which under the new rules is a hunk. If there is some merit to what you
suggest it seems to be here:
1) let splicing macros at top-level, which return a list of length 1,
exit from read with the single item from that list (instead of being
ignored, and causing a rescan into READ again, as now happens)
2) let splicing macros immediately following a dot, which return a list
of length 1, appear as of the item in that list were the thing typed;
thus (A B . ~(C)) would read the same as (A B . C)
This is probably pretty trivial to do.