On 10/18/06, Charles Oliver Nutter <Charles.O.Nutter / sun.com> wrote:

> As Sam mentions in another post...what then is the difference between a
> Symbol and a frozen String? Why have a separate type?

The main difference is that

   sym1 == sym2 implies sym1.object_id == sym2.object_id

This implication doesn't hold for strings, frozen or not.

> If there's a difference that's incompatible with String's behavior as a
> supertype, I don't think Symbol < String is valid. If there's no
> difference, I'm not sure I see the point in having Symbol.

Ruby never required subclasses to be totally compatible with their
superclasses.  Inheritance is implementation factoring, not typing.

-- 
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/