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

Reply via email to