empty is a verb f is a verb so f empty is a verb (a hook)
f=: 1&, (f empty) 3 $(f empty) 3 3 0 $(f empty) 5 5 0 The reasons for this are documented at http://www.jsoftware.com/help/dictionary/dictf.htm (hooks) and http://www.jsoftware.com/help/dictionary/d630n.htm (x m&v y). That said, verbs take arguments and empty is a verb - it always produces an empty result, but only when it gets an argument. I hope this helps, -- Raul On Wed, Jun 7, 2017 at 11:39 AM, Michael Rice <[email protected]> wrote: > Oops! Guess I creamed empty. Will close and regen Jqt before proceeding. > > Done! > > f =: (1&,) > f 2 > 1 2 > f empty > f empty > > Shouldn't it have returned > > 1 > > ? > > On Wed, Jun 7, 2017 at 11:22 AM, robert therriault <[email protected]> > wrote: > >> One thing to remember is that empty is already defined as a verb >> >> empty >> (i.0 0)"_ >> >> So if you overwrite this you may break some code if you have previously >> relied on the existing verb definition. >> >> I think along the lines that Pascal mentioned that null could be similarly >> defined as >> >> null NB. check that it is not already used >> |value error: null >> null=:(i.0)"_ >> NULL NB. check that it is not already used - uppercase for global >> nouns is a convention I like and is often seen in J code >> |value error: NULL >> NULL=:'' NB. I use this as the null string (same as what John suggested) >> NULL-:null 2 NB. any argument produces NULL from null >> 1 >> >> Hope this helps, >> >> Cheers, bob >> >> > On Jun 7, 2017, at 8:09 AM, 'Jon Hough' via Programming < >> [email protected]> wrote: >> > >> > >> > I may be wrong in doing this, but I usually write >> > empty=: '' >> > to signify an empty list, array, matrix etc. >> > >> > >> > On Jun 7, 2017, 23:59, at 23:59, Michael Rice <[email protected]> >> wrote: >> >> Is there a special "noun" for an empty list? >> >> >> >> Creating one seems enigmatic. >> >> >> >> empty =: 1 2 >> >> empty >> >> 1 2 >> >> empty =: }. empty >> >> empty >> >> 2 >> >> empty =: }. empty >> >> empty >> >> >> >> empty1 =: >> >> |syntax error >> >> | empty1=: >> >> ---------------------------------------------------------------------- >> >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- >> > For information about J forums see http://www.jsoftware.com/forums.htm >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
