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). > > -- > Raul > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
