(mod (X) (include *strict-cl-21*) ;; Ensure macros can expand inside other macros when using advanced primitives. (defmac classify-expr (G) (if (number? G) 1 (if (symbol? G) 2 (if (string? G) 3 (if (l G) 4 0 ) ) ) ) ) (if X (classify-expr X) (list (classify-expr ()) (classify-expr 33) (classify-expr test) (classify-expr "foo") (classify-expr (* 3 2)) (classify-expr (list 1 2 3))) ) )