On Feb 16, 3:34 pm, Stuart Halloway <stuart.hallo...@gmail.com> wrote:
> Should I be using two different terms, or is the notion of binding  
> overloaded?

I think it's overloaded.  In Common Lisp, symbols are bound to
values.  Clojure's Vars are closer to CL symbols than Clojure symbols
are to CL symbols. (!)  It's funky because CL docs talk of "binding"
symbols to values.  I like to think of both CL symbols and Clojure
Vars as "storage locations."

As I understand it, every Var has a name, which is a symbol, but the
name is an inherent property of the Var and cannot be changed.  You
can "bind" a Var to different values with def, binding, var-set, set!,
and alter-var-root.  But you never "bind" a Var to a different name.

Within a namespace, a Var may be "mapped" to a name (a symbol).  There
is ns-unmap to remove a mapping, but no corresponding function to add
a mapping.  All you have is "refer".

I await corrections. :)

-Stuart Sierra
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To post to this group, send email to clojure@googlegroups.com
To unsubscribe from this group, send email to 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to