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

Reply via email to