On Feb 27, 2013, at 10:53 AM, Chris Marshall <[email protected]> wrote:

> This is either a question about slice/niceslice
> or an idea for new functionality:
> 
> If I have a pdl of shape [M,N,P,Q,R] how can
> extract the slice with shape [M,N] without filling
> out all the missing dimensions explicitly?  E.g.,
> 
>  (:,:,0,0,0;-) if M>1 and N>1
> 
> this would amount to setting a default index
> for missing dimensions.  Of course, it would
> nice to be able to specify by dimension number
> for the dims you keep as well....
> 

I don't particularly hold with it, since it breaks the generality of the 
threading paradigm -- i.e. that the first few dimensions are considered to be 
intrinsic to the quantity you're manipulating, and the later dimensions are 
looped over automagically.  Keeping that concept robustly in mind as we develop 
has made PDL extraordinary among vectorized languages.  Alone among the big 
players, PDL really does offer robust vectoriztation pretty much anywhere: you 
actually can vectorize pretty much any operation just by adding some more dims 
to its operand.  Sure, there are a few exceptions (e.g. the short-circuiting 
operators and a few of the primitives) but they are sparse enough to not break 
the paradigm.  

I worry that, if we introduce notation that permits breaking the threading 
paradigm so easily, it will indeed be broken more frequently, and a thing of 
beauty will begin to decay.   Of course, all that said -- if there is a common 
use case we should definitely think about it.  I know that IDL users expect 
that kind of broken behavior, for example.



_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to