special form | since v0.0-927 | clojure.core/quote | Edit |
(quote form)
Yields the unevaluated form.
(defmethod parse 'quote
[_ env [_ x :as form] _ _]
(when (not= 2 (count form))
(throw (error env "Wrong number of args to quote")))
(let [expr (analyze-const env x)]
{:op :quote
:expr expr
:env env
:form form
:tag (:tag expr)
:children [:expr]}))
(defmethod emit* :quote
[{:keys [expr]}]
(emit expr))