On 24 August 2010 16:16, Stéphane Ducasse <[email protected]> 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
>>> [email protected]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-users mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>
>
> _______________________________________________
> Pharo-users mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users
>



-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-users mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-users

Reply via email to