I've found an error, but cannot reproduce it in the clean session. The problem 
line (simplfied) is:

  follows=. heads ($@0:)`(~.@,@(] S: 0)@[)`]}&; (, a:)

I've prepended it by the line:

  heads__=: heads

to debug after that code breaks. So, session log looks like:
==========================================
   load 'app.ijs'
   run_problem_verb ''
...
|length error
|   follows=. heads    ($@0:)`(~.@,@(]S:0)@[)`]}&; , a:
   heads ($@0:)`(~.@,@(] S: 0)@[)`]}&; (, a:)       NB. try to reproduce using 
noun from app: error is reproduced
|length error
|   heads    ($@0:)`(~.@,@(]S:0)@[)`]}&;(,a:)
   heads2=. , a:
   heads -:!.0 heads2
1
   heads2 ($@0:)`(~.@,@(] S: 0)@[)`]}&; (, a:)       NB. try to reproduce using 
identical noun: error isn't reproduced

   heads ($@0:)`($@0:@~.@,@(] S: 0)@[)`]}&; (, a:)     NB. replace generated 
ISO value by identical value: error isn't reproduced, too

   ($0) -:!.0 ~.@,@(] S: 0)@[ heads       NB. what generated ISO value is
1
   JVERSION
Engine: j807/j64/linux
Release-a: commercial/2019-01-11T11:05:56
Library: 8.07.22
Platform: Linux 64
Installer: J807 install
InstallPath: /home/user/j64-807
Contact: www.jsoftware.com
==========================================

So, 'head' noun copied from app breaks code, but identical fresh noun 'head2' 
doesn't. If the value generated from 'heads' is replaced by identical value 
($0), this avoids error.

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

Reply via email to