Ilya Zakharevich wrote: > As shipped: no. But if this is made a primitive (which I would not > like), then the only change which is needed is to make the > tie::multi::range() token to be followed by 3 numbers. > > [Aside: Why not make ternary-range operator into 10 :: 20 :: 2 ?] That would work. My point is that having a stride is a fundamental feature in other array languages (IDL, Matlab, PDL) and would be useful in the perl core. > > Finally as an overload expert what do you think about the proposals > > to make arrays overloadable objects so one can say things like: > > > > @x = 3 * @y; > > This is not an overloading issue, this is the context resolution > issue. IMO, the cryptocontext turns out to be evil with an exception > of extremely short scripts - and this is with what we have now. > > A proposal like this would make a nuisance into a nightmare. Yes, it > looks nice, but it contradicts many rules, so in the long run it is > going to be a significant step back. > > ...Unless the whole idea of cryptocontext is turned to become something else... I am not sure what you mean by "cryptocontext"? I guess the motivation here is to make non-core arrays (such as PDL objects) look as much as possible like Perl arrays to simplify the appearance to users. It's really hard to explain why people should use @x[1..10] for perl arrays and $x->slice("1:10") for PDL arrays! I can see that allowing expressions on @x would require considerable changes to perl core. Is there a nice way to resolve this problem? KarlThread Previous | Thread Next