This was deep.  The system error was easy to fix for the next release (a missing NUL terminator to a string).

You still get value error on isboxed, because u&.v is actually processed as u&.(v f.) when v contains names.  Applying f. to a locative such as enc_loc_ removes the locative, thus the resulting verb executes in base.  I would have to study this quite a while before I changed something so deep in the system.

When you run the code with dbr 1, it doesn't go into suspension when it hits the value error.  This is because it detects the error on the name before it enters the branch for debugging the execution of the name.  I'll put that on the bug list.

Henry Rich

On 9/29/2019 10:52 AM, Kirk Iverson wrote:
I've been giving 9.01 beta-k a bit of an exercise and have
come across the following:

    cocurrent 'loc'
    dec=: [
    isboxed=: 32=3!:0
    enc=: 3 : ('1 enc y';':';'isboxed y')
    cocurrent 'z'
    test=: 0 1&enc_loc_ : enc_loc_ :. (1 1&dec_loc_ : dec_loc_)
    testi=: test_z_^:_1
    cocurrent 'base'
    dbr 1
    0:&.testi ''
|system error
    JVERSION
Engine: j901/j64/windows
Beta-k: commercial/2019-09-16T17:06:30
Library: 9.01.10
Platform: Win 64
Installer: J901 install
InstallPath: c:/users/kbi/j901
Contact: www.jsoftware.com


I have seen variants of the problem as I tried to isolate it, with
one symptom being a value error trying to find <isboxed> while <enc>
was running. In that case, the current locale wasn't <loc>, which it
had been in earlier versions of J.  Having dbr 1 set also appears to
be a factor in getting the system error.

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


---
This email has been checked for viruses by AVG.
https://www.avg.com

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

Reply via email to