[Openmcl-devel] multiple read-time conditionals, puzzlement
Arthur Cater
arthur.cater at ucd.ie
Mon Mar 13 03:06:03 PDT 2023
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
More information about the Openmcl-devel
mailing list