> > I think that #2 in your list above is a sign of Perl envy where Perl has
> > no notion of nil vs empty string (which I brought up on this list a
>
> Na, it's lisp-envy. Nil and false should be indistinguishable from an empty
> list.

To extend on this & the related auto-vivification issues: seems to me that
functionality of this kind is one of the few things you lose in OO, when
all types -- including user defined ones -- stand on equal footing.

If would be nice if nil was indistinguishable from an empty container, but
the general case would lead to madness, I suspect.

Auto-vivification of nil to a non-empty container via a signature-method
(to_ary, etc) would be quite doable, but symmetry would also require that
empty containers would automagically become nil's as well.
(Auto-nullification?)

I don't see it happening, since it is a huge change in the overall look and
feel of the language, and would propably lead to chaos.  ;) I would love to
be proved wrong, though!

  -- Nikodemus