I'm still not *entirely* clear about the mappings from symbols and namespaces to Vars. I think I sort of understand how it works in practical terms, but this is a confusing area and getting the terminology nailed down would be a big help.
On Tue, Feb 17, 2009 at 10:10 AM, Chouser <chou...@gmail.com> wrote: > > On Tue, Feb 17, 2009 at 7:01 AM, David Sletten <da...@bosatsu.net> wrote: > > > > In a language such as Common Lisp where every variable is (effectively) a > > reference variable, we have three concepts: names, variables > (references), > > and values (referents). These three things have two connections. In an > > orthodox (perhaps pedantic) sense a name is "bound" to a variable, and > the > > variable "has" a value. > > Clojure similarly has three concepts with two connection for global > Vars. As you point out later, locals (as created by 'fn' and 'let') > are a bit different. > > > I think that the strict usage is consistent with Clojure's "binding" > macro, > > which binds a name to a new variable. > > Are you sure? It seems to me the most natural mapping from the CL > concepts to Clojure is: > CL name -> Clojure symbol, name, or perhaps namespace entry > CL variable -> Clojure Var (or perhaps ref, atom, etc.) > CL value or referent -> Clojure value. > > Clojure's 'binding' macro does not change the connection from name to > Var, but the one from Var to (effective, thread-local) value. > > I think this is worth dicussing not so much so because I care about > being consistent with the classic meaning of these words in various > other languages, but I'm all for careful use of English to reduce > confusion as much as possible. > > --Chouser > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---