I have been a lurker since early November. Dan S. suggested I get over here when I 
wrote a piece on the summary list describing my feelings about vector operations in 
perl 6. My information was based on the recent O'Reilly book and I had to confess that 
I have never in my life opened a CVS file. I did volunteer to help and I remain 
willing.

Luke Palmer also responded to my message and said I would be horrified to learn that  
>>*<< was being called a "vector" operation rather than a "list" operation. I am 
horrified. Computer scientists have already usurped the terms "real", "kilo", and 
others and given them non-standard meanings. Please don't do the same with "vector" 
and "matrix". And forget I ever mentioned quaternion, tensor, and rotor.

I am a physicist and mathematician who uses perl5 extensively for the likes of 
preparing CAD data for printed circuit board fabrication and creating AutoDesk files 
in DXF format from mathematical calculations. I even plot data on my web site using 
perl to create .SVG files. I learned to code when FORTRAN didn't have any version 
number and I still think I might be happy with pure assembly in parrot but when I want 
to do vectors or complex numbers I end up in Waterloo Maple for the solutions and M$ 
Excel for the arithmetic. Perl 6 would sure be nice for once-in-a-while vector 
operations that are not worth the programming time for an array of 1024 Mac G5's.

This whole thread worrying about semantics of obscure operators for things that are 
not even going to be real vector or matrix operations worries me. Just who do you 
think is going to use them? Multiplying elements of an array by each other to get 
another array is not a vector product and it is not an inner product. It is useless to 
me regardless of the operator syntax you choose. Ditto for multiplication of lists of 
lists, also called matrices, where all you do is provide piece by piece multiplication 
of elements.

In FORTRAN I learned that names that begin with IJKLMN were integers and further that 
if only a single letter is used it will be assigned to a hardware register. Those 
letters are what you now call a sigl and I'll bet I spelled it wrong.

Why can't you assign a sigl to things that are to be vectors or matrices and let that 
determine what the standard operators do? Context could distinguish the inner product 
from the vector product.  typedef? Those of us who actually use vector arithmetic 
wouldn't mind a special identifier that's not an $, @, or %. Other users need not know 
about it until they find it useful. If absolutely necessary to comply with modern 
terminology you could call vectors and matrices members of a class and overload the 
operators but my experience is that such things just cloud the underlying arithmetic 
process that needs to be foremost while solving a problem.

The KISS principle is important. Please reconsider your "vector" operations before you 
go off the deep end with syntax that won't ever be used. And yes, I have some time and 
would like to help. But it will take hours to learn about the C++ stuff in CVS files. 
I have Linux and Mac OS neXt available.

Douglas P. McNutt        PhD
The MacNauchtan Laboratory
7255 Suntide Place
Colorado Springs         CO 80919-1060
voice 719 593 8192
[EMAIL PROTECTED]
http://www.macnauchtan.com/



-- 
-->  There are 10 kinds of people:  those who understand binary, and those who don't 
<--

Reply via email to