I know. And the only place the problem could be reported is on the close paren. It's just that every time I see this it jars me.
On Tue, May 6, 2008 at 6:58 PM, Roger Hui <[EMAIL PROTECTED]> wrote: > Actually, syntax error is one of the easier ones to track down > as it is nearly always a consequence of a verb attempting to > return a non-noun result. > > > > ----- Original Message ----- > From: Don Guinn <[EMAIL PROTECTED]> > Date: Tuesday, May 6, 2008 16:23 > Subject: Re: [Jprogramming] RE: BegQ--Writing files with LFs not CRLFs? > To: Programming forum <[email protected]> > > > This kind of error bothers me. Hard to track back to the > > problem. Below is a > > verb f where z is an undefined name. Easy to happen with a typo. > > > > f=:4 : 0 > > if. x=1 > > do. y > > else. z > > end. > > ) > > 1 f 5 6 > > 5 6 > > 2 f 5 6 > > |syntax error: f > > | 2 f 5 6 > > load 'debug' > > dbr 1 > > 2 f 5 6 > > |syntax error: f > > |f[:3] > > > > In this example the verb is short enough to easily see the > > problem, but if > > the verb has very many lines it can be frustrating to find. > > Debug really > > doesn't help that much either. The error is reported on the > > close paren, so > > somewhere back in the definition of f is the error. > > > > On Tue, May 6, 2008 at 4:18 PM, Raul Miller > > <[EMAIL PROTECTED]> wrote: > > > > > On Tue, May 6, 2008 at 6:14 PM, Dan Bron <[EMAIL PROTECTED]> wrote: > > > > Now, one could argue that "too many arguments" is a domain > > error in > > > > the sense that it means "there's something wrong with your > > arguments",> > but that's a stretch (especially given that this > > condition used to have > > > its > > > > own name: valence error). > > > > > > I would instead argue that when you define a verb you provide > > > definitions for both the monadic and dyadic case. With your > > > explicit definition your dyadic definition had an empty domain. > > > > > > This is similar to, but different, from a valence error. > > > > > > A valence error is a parse-time error, which would have meant > > > that your verb did not have a dyadic definition. That's > > > subtly different (and slighty more complicated, for example [: > > > would need different treatment). > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
