2012/6/20 Henry Maddocks <hmaddocks / me.com>:
>
> On 20/06/2012, at 7:12 PM, Robert Klemme wrote:
>
>> If at all
>> the inheritance would be the other way round: a String is-a Symbol and
>> it would extend the contract by mutating methods.
>
> This is a very good point. String should be a sub class of Symbol. I wonder if this was considered.

This is an extremely bad idea.

Symbol is just that  a symbol. Internally it is stored as a *number*
and in C code passed by-value, like Fixnum, instead of by-ref, like
all other objects. It is only shown as a bit of text for display.

Symbols are not immutable strings, and Strings are not mutable
symbols. You should not confuse the two, and they should not inherit
from each other. They are extremely different entities. Think of
symbols as a crossover between enums, magic numeric constants and as
the last place  strings.

-- Matma Rex