In perl 5:

    my @a = (1,2,3);
    delete $a[1];
    print exists $a[1];

This is false, whereas $a[0] and $a[2] do exist.  This is creepy.  Not
only is it creepy, it raises a whole bunch of questions with
nontrivial answers:

    * does [EMAIL PROTECTED] include nonexistent elements?
    * does map iterate over nonexistent elements?
    * how do you store nonexistence for native packed arrays

And, what I always say, if the proper abstractions are being used,
then all decisions become obvious truths.  Since the answers to these
are not obvious truths, proper abstractions must not be in use.

Anyway, I want this behavior to die.  Maybe we should get rid of
.delete() on arrays, or maybe we should equate it with
.splice($idx,1).

Luke

Reply via email to