On Mon, 2002-07-15 at 11:29, Karl Glazebrook wrote:

> complex formulae. Imagine:
> 
> @solution =  (^-@b + sqrt(@b^**2 ^+ 4^*@a^*@c) ) ^/ (2^*@a);
> 
> (or would it be ^sqrt() ?) - This looks like sendmail :-)

I would imagine that non-binary operators would simply have a hyper-form
(which could be provided as a module) such as:

    hypersqrt(@x)

or perhaps

    @x.^{sqrt()}

or something like that.

> What is wrong with using @a * @b - the only reason I can think is to 

There's nothing really *wrong* with it. In fact, I see no reason that
they can't co-exist:

    @a = @b * @c if @d == 2;

since making hyper-operation context sensitive seems a reasonable thing
to me.


> Why do we need to preserve @x as array length when you are proposing 
> @x.length ?

This is one of the most common operations performed on arrays. It seems
like Perl6 should be hospitable in that respect.

> As instigator of PDL, I am very concerned. Clearly inbuilt vectorization 
> and compact
> arrays in perl6 will make PDL obsolete. I have no problem with that. A 

PDL does much more than that, but of course you know that :) I think a
Perl6 re-design of PDL will be much more streamlined, but still
essential.

> If I was forced to write vector code like this I *WILL* give up on perl, 
> and resort to Numerical
> Python or IDL instead.

Sure, that's always an option. I think Perl has a lot going for it other
than the way vectorization happens, and with the ability to define your
own array behavior, you can pretty much do this however you want anyway.


Reply via email to