This commit is contained in:
Nathan Marz 2016-09-01 21:46:04 -04:00
parent e910f32931
commit 23299457db

View file

@ -659,10 +659,7 @@
(->DynamicVal (:sym o)) (->DynamicVal (:sym o))
(instance? SpecialFormUse o) (instance? SpecialFormUse o)
(let [code (:code o) (->DynamicVal (:code o))
v (->DynamicVal code)]
(if (= 'fn* (first code))
(->DynamicFunction pred* [v])))
(instance? FnInvocation o) (instance? FnInvocation o)
(let [op (magic-precompilation* (:op o)) (let [op (magic-precompilation* (:op o))
@ -733,9 +730,15 @@
(resolve-magic-code path))) (resolve-magic-code path)))
(instance? DynamicVal o) (instance? DynamicVal o)
(if (-> o :code direct-nav?) (let [code (:code o)]
(:code o) (cond (direct-nav? code)
`(coerce-nav ~(:code o))) code
(or (set? code) (and (fn-invocation? code) (= 'fn* (first code))))
`(pred* ~code)
:else
`(coerce-nav ~code)))
(instance? DynamicFunction o) (instance? DynamicFunction o)
(let [op (resolve-dynamic-fn-arg (:op o)) (let [op (resolve-dynamic-fn-arg (:op o))