admin管理员组

文章数量:1403480

Here is the minimal example:

1 ]=> (if #f (quasiquote ((unquote if))) (quasiquote (if)))

;Classifier may not be used as an expression: #[classifier-item 12]
2 error> (quasiquote (if))

;Value: (if)
2 error> (quasiquote ((unquote if)))

;Classifier may not be used as an expression: #[classifier-item 12]
3 error> (if #f 'not-run (quasiquote (if)))

;Value: (if)

Based on the predicate, we should not evaluate (quasiquote ((unquote if))) with the special form if. The problem trivially also holds for syntax derived from if like cond etc.

How to solve with the above problem?

本文标签: