Christian Soeller wrote:
> I think a combination of yours and Budda's proposal is actually very
> nice:
>
>   @a[10:20:2; 11:30:3]; # ; implies cartesian product of indices
>   @a[10..20:2; 11..30:3];  # same with .. syntax
>   @a[[10,20,2],[@index], [0,0,0]] # comma-separated index refs means
>                                   # individual elements
>
> Is that a possible compromise?
>
Actually, it's not just a compromise, it's an extension. I was thinking
that:

  @a[10:20:2][11:30:3];

would not be a cartesian product, but a component-wise list (10,11; 12,14;
14,17;...20,29). What if we created a new operator ';' that works within a
list that creates a cartesian product?:

  (10:20:2; 11:30:3);   # Cartesian product of 10:20:2 and 11:30:3 as a LOL

Since a list is created automatically within [], this operator plus my
existing proposals plus RFC 81 would make your three examples work
perfectly. It would also allow my LOL extension syntax.


Reply via email to