At 11:33 AM 10/1/00 -0700, Peter Scott wrote:
>But, setting aside my visceral reaction to changing array bases, you have 
>precisely the same problem here that has scuppered my intent to file an 
>RFC for hashes with fixed keys; how do you apply the attribute to 
>anonymous, let alone autovivified, arrays?  If I say
>
>         my @a :base(1);
>
>then what of $a[1][1]?  How to specify that the second level array also 
>has a base of 1?  Without it looking really ugly?

Well, it'd be reasonable for autovivified arrays and hashes to inherit the 
properties of their parent, so if you had:

   my int @foo;

and accessed $foo[1][2], that new autovivified array would be of type int.

As for anonymous hashes and arrays, there's no reason outside of appearance 
that you coudn't tack on attributes after the closing array/hash constructor:

   my $foo = [] : int;

Not even that bad to parse, though it has the potential to get screwy with 
the trinary operator. I can't picture that being too big a deal, though. 
(How often is the lefthand bit of a trinary expression returning an 
anonymous array ref?)

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to