Thank you for your comments. What I did was strictly replace verbs with a
named verb with the same rank as the primitive and also defined an inverse
making them functionally equivalent. So modifiers treat them just like the
primitive, except for fit (!.) and any optimization. All rules for tacit
and modifiers still apply. I tested those statements you mentioned and they
seem to work properly. Since they are named verbs, including (*), J cannot
know that it is supposed to be multiplication or whatever. So optimization
you mentioned in J is not done. And it is not necessary to worry about
tacit and other modifier considerations.

Yes, if optimization is done before the type of noun is encountered,
particularly multiplication, then it would be a real problem.

I guess that for now at least, the best approach for me is to name the
verbs and use them instead of the primitives. It is not hard to enter a
statement, replace the primitive verbs with the appropriate named verbs,
then execute the modified statement. And in some other possible things to
look into may have even more restrictions than quaternions, where even
addition may not communicate.

But it is nice to be able to enter regular J statements and have them
support quaternions.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to