If negative rank passed through compounds,  consider what the result of

]@(#"_1) i.2 3

would be.

Henry Rich

On Aug 8, 2017 00:49, "Raul Miller" <rauldmil...@gmail.com> wrote:

> Negative rank is a convention - it means the rank is relative to the
> noun rank. I'm not sure what a rank less than 0 would mean otherwise.
>
> Thanks,
>
> --
> Raul
>
> On Mon, Aug 7, 2017 at 7:15 PM, Louis de Forcrand <ol...@bluewin.ch>
> wrote:
> > I see. So negative ranks are sort of placeholders, and are replaced by
> > positive (effective) ranks internally during evaluation?
> > Because it could just announce its rank to be negative, and not actually
> > calculate the effective rank until it is really needed (a lazier
> effective rank
> > evaluation if you will):
> >
> >       x u”_1/ y   <->   x u”_1”_1 _ y   NB. evaluate effective rank here
> > <->   x u”_1”((0>.(#$x)-1) , _) y       NB. and here
> > <->   x 4 : ‘x u”((0>.(#$x)-1),(0>.(#$y)-1)) y'”((0>.(#$x)-1) , _) y
> >
> > instead of
> >
> >       x u”_1/ y NB. just here
> > <->   x 4 : ‘x u”((0>.(#$x)-1),(0>.(#$y)-1)) y’/ y
> >
> > What I mean is that I would’ve made v=: u“r with r<0 report rank r, and
> if an
> > operator needs to know the rank of v, then just feed it r and let it
> deal with
> > calculating the effective rank.
> >
> > Of course their are probably implementation limitations which I do not
> know of.
> >
> > Thanks for your explanation!
> >
> > Louis
> >
> >> On 07 Aug 2017, at 18:29, Raul Miller <rauldmil...@gmail.com> wrote:
> >>
> >> The rank of +"_1 is infinite because the derived verb has to see the
> >> full ranks of its arguments to figure out what rank to use for the
> >> inner verb.
> >>
> >> In other words, -"_1 in -"_1 i.3 3 has an effective rank of 1, but in
> >> -"_ i.3 it has an effective rank of 0.
> >>
> >> Since it can't know what rank to use until after it sees the nouns,
> >> its announced rank has to be infinite.
> >>
> >> Thanks,
> >>
> >> --
> >> Raul
> >>
> >>
> >> On Mon, Aug 7, 2017 at 4:40 PM, Louis de Forcrand <ol...@bluewin.ch>
> wrote:
> >>>   +"0/~ i.3
> >>> 0 1 2
> >>> 1 2 3
> >>> 2 3 4
> >>>   +"_1/~ i.3
> >>> 0 2 4
> >>>   +"0 b.0
> >>> 0 0 0
> >>>   +"_1 b.0
> >>> _ _ _
> >>>
> >>> I understand that this is dictionary compliant:
> >>>
> >>> "In general, each cell of x is applied to the entire of y . Thus x u/
> y is equivalent to x u"(lu,_) y where lu is the left rank of u ."
> >>>
> >>>   +"_1 b.0
> >>> _ _ _
> >>>
> >>> So u"_1/ -: u"_ _ . Wouldn’t it be better though if u"_1/ -: u"_1 _ ,
> >>> or if (u”_1 b.0) -: _1 _1 _1 (or any other negative rank)?
> >>> I ran into this while trying to use ,"_1/ , which I can replace by
> >@{@,&< ,
> >>> but I still find this strange.
> >>>
> >>> Louis
> >>>
> >>> ----------------------------------------------------------------------
> >>> 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