My J602 development broke suddenly after a JAL update. The built script did not
work in runtime. The reason appears to be in a name conflict in two different
scripts that are added in same build: dll.ijs and jzplot.ijs. Both scripts
declare name "endian": jzplot.ijs locally in class locale and dll.ijs globally
in locale z and. The second assignment causes domain error while running the
script.
You can simulate the situation by running the following lines in a script
(24.ijs):
cocurrent'test'
a=. 12
cocurrent 'z'
a=: 13
load 'C:\j602\user\temp\24.ijs'
|domain error: script
| a =:13
|[-3] C:\j602\user\temp\24.ijs
The script jzplot.ijs includes a executed line jzplot class locale:
endian=. ({.a.)={. 1&(3!:4) 1
and dll.ijs includes a executed line in z locale:
endian=: |.^:('a'={.2 ic a.i.'a')
I have only questions:
Which script (jzplot.ijs or dll.ijs) should be fixed and how ? Who will do the
fix and how such conflicts causing such nasty errors could be avoided in the
future?
Anssi
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm