Description
Symbol expansion currently happens in our Namespaces
struct's get
function -- basically, it tries to figure out where we are referring to, based off of what namespace we are currently in, and what symbol we are asking for. For instance, in: my-ns
, asking for: +
will eventually cause get
to find +
in clojure.core/+
.
However, recently we had to add a function for getting the Var
@ a symbol, rather than its value -- and because it was made separately from the branch that added namespace-refers to symbol expansion, we now have two functions with symbol expansion, and one of them is now out of sync. Blah blah typical DRY blah blah. And while we surely will not need any more get
functions (and in fact, we will be back to having just one get function, as get
will be rewritten in terms of get_var().deref()
), I am pretty sure we will use symbol expansion yet again for, I don't know, the backquote possibly. Either way, it should be its own function