On Tue, Aug 16, 2011 at 17:01, Haase, Konstantin
<Konstantin.Haase / student.hpi.uni-potsdam.de> wrote:
> What would ObjectSpace.each_object(String) { |o| p o } produce?

All the strings (including frozen ones).

> It would also largely violate the Liskov substitution principle. Having a common superclass or String being the subclass for Symbol should be possible, though.
>
> Konstantin

The proposal is to remove the Symbol class altogether. :foo becomes
simply a shortcut for string_cache['foo'] and is *always* a frozen
String.