I think you were surprised by
http://www.jsoftware.com/help/dictionary/special.htm

Specifically the special handling for +/ .* (which is handled at
parsing time rather than at execution time - the way you have things
arranged, the parser will not see +/ .* and hypothetically you could
arrange for sum .* in contexts where sum was defined differently).

I hope this helps,

-- 
Raul


On Mon, Apr 17, 2017 at 4:51 PM, Michael Goodrich
<[email protected]> wrote:
> Greetings:
>
> Got a nasty surprise today.  have a non-trivial J app with the following
> supporting original definitions:
>
> sum =. +/
> dot =. +/ . *
> sqrd =. *:
> ssq =. +/ @: sqrd
>
>
> Which I changed (thinking I was being elegant) to
>
> sum =. +/
> dot =. sum . *
> sqrd =. *:
> ssq =. sum @: sqrd
>
> After this change the run time increased by a factor of 5!
>
> Insights?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to