This thread hints at a problem I am having. In particular the link suggested by Henry https://code.jsoftware.com/wiki/Vocabulary/ErrorMessages#value
My problem is that I want to detect an error caused by an undefined noun but my attempt does not produce the desired error using :: . For example in the example below, although `a` is undefined, I do not get the desired result, 0, from my verb `tally` when I execute `tally a`. How can I define tally to produce 0 for an undefined argument. Or how do I detect an undefined argument, in general? I have considered using a try. ... catch. in an explicit definition, but to me that seems unnecessary. a |value error: a tally =: # :: 0: tally i. 4 4 tally a tally a On Wed, Nov 6, 2019 at 5:11 AM Henry Rich <henryhr...@gmail.com> wrote: > https://code.jsoftware.com/wiki/Vocabulary/ErrorMessages#value > > Henry Rich > > On 11/6/2019 4:26 AM, Arnab Chakraborty wrote: > > Dear all, > > > > Here is a behavior that I noticed only recently, and it puzzles me a > > lot: > > > > Let's say abc and xyz are not defined in my J session, and type just > abc > > by itself in a line. Of course, I get a value error. But if I type > > > > xyz abc > > > > then J does not produce any error, but simply echos back what I have > typed! > > I expected that J would start executing from the right, encounter abc, > and > > produce a value error. If I now define abc (say abc=. 0), then > > > > xyz abc > > > > produces a value error (expected) about xyz. > > > > But why does J become silent in presence of multiple undefined symbols? > -- (B=) ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm