Thanks for the answer. I had played with this some more and suspected that to be the case - errors that are not errors. I was aware that a change in the class of a name could cause a statement to be rescanned but I was surprised to see that happened in an entire explicit definition. I thought that each line of an explicit definition was not interpreted until the previous line was finished.
It could make writing error handling interesting in that the code in a catch. or whatever in that one must avoid allowing the interpreter to achieve its nefarious ends and lose the original error message. From now on I will capture the error message or whatever I need as soon as I can in the error handling to minimize the possibility of losing the original error. On Feb 13, 2008 2:19 PM, Roger Hui <[EMAIL PROTECTED]> wrote: > The "value error" is a result of the J interpreter > itself using J facilities to achieve its nefarious ends. > The error was trapped and execution proceeded normally. > It is little different from the following sequence: > > 1 2 + 3 4 5 > |length error > | 1 2 +3 4 5 > 13!:12 '' > |length error > | 1 2 +3 4 5 > > 'a' + :: 0: 4 > 0 > 13!:12 '' > |domain error > | 'a' + ::0:4 > > > > ----- Original Message ----- > From: Don Guinn <[EMAIL PROTECTED]> > Date: Tuesday, February 12, 2008 8:58 > Subject: [Jbeta] LF used before defined in boot.ijs > To: Beta forum <[email protected]> > > > It seems to be working and I don't understand why; however, in > > attempting to > > chase down one of my own errors I noticed that 13!:12'' > > contained an error > > in boot.ijs. > > > > |value error: LF > > | 3 :0'' > > |[-115] C:\Program Files\J602\system\extras\util\boot.ijs > > > > The line number listed above is off a little as I inserted some > > debugginglines into boot.ijs. It looks like that the the unnamed > > explicit verb around > > line 33 defines LF_z_ when stdlib.ijs is loaded which occurs > > after the verb > > begins execution. So the lines referring to LF where JVERSION is > > defined are > > scanned before LF is defined generating the error message. But > > somehow the > > error is ignored and by the time execution gets to those lines > > LF is > > defined. So they work. > > > > I'm confused. > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
