TaggedLiteral
(TaggedLiteral. tag form)
(deftype TaggedLiteral [tag form]
Object
(toString [coll]
(pr-str* coll))
IEquiv
(-equiv [this other]
(and (instance? TaggedLiteral other)
(= tag (.-tag other))
(= form (.-form other))))
IHash
(-hash [this]
(+ (* 31 (hash tag))
(hash form)))
ILookup
(-lookup [this v]
(-lookup this v nil))
(-lookup [this v not-found]
(case v
:tag tag
:form form
not-found))
IPrintWithWriter
(-pr-writer [o writer opts]
(-write writer (str "#" tag " "))
(pr-writer form writer opts)))