I would like to see if a symbol has been "def" ed, but I can't see any ifdef syntax
user> (resolve 'foo) nil user> (def foo 3) #'user/foo user> (resolve 'foo) #'user/foo
resolve
or ns-resolve
may do what you're looking for:
user> (def a 1) #'user/a user> (def b) #'user/b user> (resolve 'a) #'user/a user> (resolve 'b) #'user/b user> (resolve 'c) nil
To get a boolean:
user> (boolean (resolve 'b)) true
EDIT: per MayDaniel's comment, this isn't exactly what you asked for, but it will get you there. Here's an implementation of bounded?
(probably not the best name):
(defn bounded? [sym] (if-let [v (resolve sym)] (bound? v) false)) user> (map bounded? ['a 'b 'c]) (true false false)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With