On 24 August 2010 16:16, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
we often use symbols for identity keys. Now I was just dreaming.
I had a long discussion with my friend, who was learning smalltalk, where we argued about 'selector is not a symbol'. The difference between a bare string and symbol is uniqueness. Literally, a symbol is just a string, which having additional, implied semantics, that same symbolic strings refer to a single, unique object. (Another minor one is immutability). The difference between a symbol and selector is less significant. A simple example. Suppose you have two different classes, one Symbol, other is Selector. Now, suppose that compiler creating an instance of Symbol each time it sees following: self foo. where 'foo' is selector (and instance of Selector). but now, lets put it in another way: self perform: #foo. A #foo is, obviously a symbol, and must be an instance of Symbol class, isnt? So, in #perform: you must somehow convert a symbol into selector and then find the implementation of method with given selector. This obviously kills an idea of having distinction between selectors and symbols, because implementation of #perform: will be awfully slow and awkward.
Hi guys
I'm thinking aloud... I was wondering if we could not take advantage of a new class: Selector. MethodDict would only contain selectors and not symbols.
I remember that I talked about that with hernan.
Hmm.. i don't see obvious advantages. Do you? Most symbols (90% of cases), used as selectors, so it is likely that such refactoring will be nothing more, but just renaming the class :)
Stef
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- Best regards, Igor Stasenko AKA sig.
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
_______________________________________________ Pharo-users mailing list Pharo-users@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
-- Best regards, Igor Stasenko AKA sig.