Don Guinn <[EMAIL PROTECTED]> wrote:
> Why do you say adding support for undotted parameters would break 
> existing code?  As it stands now when 1=9!:48'' J6 works like J5 as far 
> as parameter names are concerned.

Not totally. The default assigns values to BOTH y and y.
This means that now, explicit definitions that could see globals like y
will now see locals with the same name.

   y =: 5
   jVersion =: 3 : 'y' @ 6:
   jVersion''
5
If you run this on J 6, the result will be 6 instead of 5

   y =: 0
   IncY =: 3 : 'y=:>:y'
   IncY 7
1
   y
1
This produces a domain error in J 6 when trying to assign to global y
Even if the J 6 safety that forbids such assignments were not back-ported
to J 5, this function would return 8 instead of 1 (and change the global 
accordingly).

  x =: +/ .*
  MatAtimesBtimesA =: 4 : 'x. x y. x x.'
This was fine in J 5, but under J 6, it is now a disaster waiting to happen.

-- Mark D. Niemiec <[EMAIL PROTECTED]>

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to