shortest On 7 Jun 2017 16:01, "robert therriault" <[email protected]> wrote:
> I'm going to look at these results through the lens of Shape ($) > > f =: (1&,) > f 2 > 1 2 > $ f 2 NB. shape is 2 > 2 > f '' > 1 > $ f '' NB. shape is 1 > 1 > empty NB. it is a verb in my environment > (i.0 0)"_ > f empty > f empty NB. result of two verbs and no arguments is just the two verbs > f empty 2 NB. this is where you expect to have a 1 returned > > $ f empty 2 NB. shape is 1 0 > 1 0 NB. one line of no items means no display > > I think it is the second dimension of EMPTY as opposed to NULL that is > tripping you up. > > NULL=.'' > $ NULL > 0 > EMPTY > $EMPTY > 0 0 > EMPTY-:empty 1 > 1 > > In answer to your most recent question Michael, I would say just make sure > that the empty list that you pass is the right shape. > > Cheers, bob > > > On Jun 7, 2017, at 8:48 AM, Raul Miller <[email protected]> wrote: > > > > 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 > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
