multiple read-time conditionals, puzzlement
Arthur Cater <[email protected]> Mon, 13 Mar 2023 10:06:03 +0000
| Newsgroups | gmane.lisp.openmcl.devel |
|---|---|
| Message-ID | <[email protected]> |
Reading a bit of ccl’s sources I came across something that surprised me, and I thought it was neat. It was of the form #+feat #+feat :keyword argument which I thought nicer than the sort of thing I’d been doing, namely #+feat :keyword #+feat argument But it set me thinking, and experimenting, and now I’m puzzled, and I wonder if anyone can explain this to me. ? NIL ? (setf *features* '(:a :b :c)) (:A :B :C) ? '(#+a #+a a b c) (A B C) ? '(#+a #-b a b c) (B C) ? '(#+a #+b #-c a b c) (B C) ? '(#+a #-b #+c a b c) (C) ? I thought I understood what was going on until this last one. Why does #-b cause both A and B to be skipped? Arthur