From: Yohanes Santoso Date: 2005-12-30T05:07:35+09:00 Subject: Re: What is the difference between :foo and "foo" ? Chad Perrin writes: > Prior to this quote you provided, everything that has been said in > this discussion of Ruby symbols has seemed to indicate that there is > zero relationship between the two. The first line of my journal (third post in this thread) already mentions "The concept of symbols have been popular among the lisp community...". So, there is not zero relationship between the two. Before coming to ruby, I was already familiar with elisp and dabled some in CL. A quick reading of the then scampy documentation of ruby Symbol revealed that they are just different implementations of the same concept. But they are not the same. ruby's symbol is CL&elips symbol minus attributes (symbol value, property list, etc.) > So tell me: Is a Ruby symbol basically just an object oriented > implementation of the Lisp concept of a symbol? Yes: different implementations of the same concept. No: CL&elisp's Symbol has more functionalities. > If that's the case, what's up with all this tripe about "a symbol is > just a name" and so on? Because it's true? Because there are people who don't have lisp background who are not familiar with what symbol is? Because there are people who thinks symbols are magical thingie? > I think these analogies are doing a disservice to people trying to > get a read on what a symbol is in Ruby. This is true for all analogies. Different people are receptive to different analogies. This simply means you are not receptive to the analogy I made. > people are full of analogies and categorical statements > that don't really explain anything The basic message has always been clear: symbol is a mean for you, the programmer, to name/identify entities. But somehow, people are having difficulty understanding this and asked for more explanations. This is when analogies and categorical statements came in. >> Just as one does not dumbed down "'everything' is an object in ruby", >> which is a powerful ability, one should not dumbed down "symbols are >> user-defined identifiers". It's just parts of learning curve. > > Dumb down? No, never. Try explaining it, though. As this and many other previous threads about symbol have shown, explaining the concept of symbol is not easy. > While you're at it, define "identifier" within this context. To help people understanding the meaning of 'identifier', I've been mentioning it together with 'name': 'name/identify' as in "It is just a way to name/identify things". In any case, there is only one definition of identifier so context should not influence the meaning of it: From WordNet (r) 2.0 (August 2003) [wn]: identifier n : a symbol that establishes the identity of the one bearing it YS.