[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: I DON'T BELIEVE IT!!!!!!!!!
- To: (BUG LISP) at MIT-AI I have just been shafted by the most obscure "feature" in MacLisp. Now I can't believe there is anybody who depends on this feature, and
- To: (BUG LISP) at MIT-MC
- Subject: Re: I DON'T BELIEVE IT!!!!!!!!!
- From: ALAN@MIT-AI
- From: RWK at MIT-MC (Robert W. Kerns)
- Date: Sun, 8 Jan 79 08:43:39 GMT
- Date: Wed, 1 Aug 79 08:14:00 GMT
- Cc: ALAN at MIT-MC, KMP at MIT-MC, CWH at MIT-MC
- Original-date: 08/01/79 04:43:39 EDT
- Original-date: 1 AUG 1979 0414-EDT
I just talked with ALAN. He implied the right way to do it in his
last note, but let me summarize:
1) NIL is always ignored. No change.
2) (FOO) returned from a splicing macro is the same as just having typed
FOO, at top level or inside a list. The only change is in top-level READ
it has to know to return FOO instead of reading it. Also in the position
after a . [his (A B . ~(C)) example].
3) (FOO BAR) is just like FOO and BAR typed in without the ~ or parens.
At top level and after a ., this should be an error.
This really is a small pertebation in the current behaviour, and will fix
both ALAN's and my complaints (being the same). It completely subsumes any
need for macros to determine at run time whether or not they want to be
splicing. It is simply a matter of making their behaviour consistant
at top-level. Oddly enough, it probably means special-casing at the
top-level (and after a ".") but in an innocuous way.