Except: we do not have 1-origin array indexing (for good reason).

Thanks,

-- 
Raul

On Mon, Dec 31, 2018 at 11:59 AM Henry Rich <[email protected]> wrote:
>
> I agree with your principle.  When what you are adding is necessarily
> the difference between two consecutive integers, use >: .  It seems to
> me that the difference between 0-origin and 1-origin qualifies.
>
> Henry Rich
>
> On 12/31/2018 11:49 AM, Raul Miller wrote:
> > Yes, these produce the same results:
> >
> >     1+i.2 4
> > 1 2 3 4
> > 5 6 7 8
> >     >:i.2 4
> > 1 2 3 4
> > 5 6 7 8
> >
> > But monadic >: is best saved for certain special occasions, in my opinion:
> >
> > [a] When numeric vector parsing rules make 1+ inconvenient, and
> > [b] When teaching concepts where you need increment but need to avoid
> > + (Peano Postulates, for example)
> > [c] Or, similarly, where increment is the essence of the concept
> > you're trying to express.
> >
> > On Mon, Dec 31, 2018 at 11:42 AM 'Skip Cave' via Programming
> > <[email protected]> wrote:
> >> To replace my proposed i;
> >> i1=: >:@i.
> > Yes... defining i; as a primitive would have broken parsing rules
> > (currently i; and i ; are the same), and all code which used dyadic ;
> > with an index in i on the left...
> >
> > But making your own personal i1 verb is just fine.
> >
> > Thanks,
> >
> >
> > --
> > Raul
> >
> > On Mon, Dec 31, 2018 at 11:38 AM 'Skip Cave' via Programming
> > <[email protected]> wrote:
> >> Or >:i.
> >>
> >> On Dec 31, 2018 10:34 AM, "Raul Miller" <[email protected]> wrote:
> >>
> >> In every culture, some traditions are worth keeping, while some are
> >> worth abandoning (and some are so entrenched that they're best
> >> encapsulated and tolerated).
> >>
> >> Details of our calendar (which date back to the Roman Empire) are
> >> probably best treated in much the same way we treat details of roman
> >> numerals. Or, my take: surviving roman traditions tend to work well
> >> enough for their purpose, but do not work well enough for all similar
> >> purposes... (there's a reason, for example, why people in astronomical
> >> communities deal with leap seconds, and why they mostly ignore months
> >> in their time keeping efforts...)
> >>
> >> Also, I've used quadIO. For people who don't know: that was APL's
> >> tactic for dealing with different concepts of the numerical value of
> >> the first element of an array.  But quadIO was a complete pain that
> >> hit me every time I needed to use numeric indices.
> >>
> >> On the other hand, the problems surrounding APL's quadIO did have the
> >> benefit of discouraging me from using indices wherever possible. But
> >> this had a significant disadvantage also: sometimes the resulting code
> >> was way more elaborate than I anticipated when I started writing it.
> >> (Which, in turn, is a big deal when you're phasing things into
> >> production over time, based on an agreed-on end goal.)
> >>
> >> That said, this works just fine:
> >>
> >>     1+i.2 4
> >>
> >> 1 2 3 4
> >> 5 6 7 8
> >>
> >> (And, for anyone keeping track, *this* time I used copy and paste,
> >> rather than hand typing onto my phone from an untrusted computer.)
> >>
> >> Thanks,
> >>
> >>
> >> --
> >> Raul
> >>
> >>
> >>
> >>
> >>
> >>
> >> On Sun, Dec 30, 2018 at 6:13 PM 'Bo Jacoby' via Programming
> >> <[email protected]> wrote:
> >>>   New year's day is January the first, not January the zeroth.
> >>> 'The first' is an ordinal number - not a cardinal number.
> >>> A zero-origin index counts how many elements to skip before reaching a
> >> certain element. It is a cardinal number - not an ordinal number. Zero is a
> >> cardinal number - 'zeroth' is not an ordinal number.
> >>> Not distinguishing  cardinal numbers from ordinal numbers creates
> >> confusion.
> >>> Thanks. Bo.
> >>>      Den søndag den 30. december 2018 18.54.48 CET skrev Henry Rich <
> >> [email protected]>:
> >>>   That's the correct result.  #\ operates on prefixes of y, which are
> >> tables.
> >>> Henry Rich
> >>>
> >>>
> >>> On 12/30/2018 12:28 PM, Linda Alvord wrote:
> >>>>   #\i.8 3
> >>>> 1 2 3 4 5 6 7 8
> >>>>
> >>>> Sorry, Linda
> >>>>
> >>>>
> >>>>
> >>>> Sent from my Verizon, Samsung Galaxy smartphone
> >>>>
> >>>>
> >>>> -------- Original message --------
> >>>> From: Linda Alvord <[email protected]>
> >>>> Date: 12/30/18 12:24 PM (GMT-05:00)
> >>>> To: [email protected]
> >>>> Subject: Re: [Jprogramming] One-based indices
> >>>>
> >>>> This doesn't work.
> >>>>
> >>>>     #i.8 3
> >>>> 1 2 3 4 5 6 7 8
> >>>>
> >>>>
> >>>> Linda
> >>>>
> >>>> Sent from my Verizon, Samsung Galaxy smartphone
> >>>>
> >>>>
> >>>> -------- Original message --------
> >>>> From: Henry Rich <[email protected]>
> >>>> Date: 12/30/18 12:08 AM (GMT-05:00)
> >>>> To: [email protected]
> >>>> Subject: Re: [Jprogramming] One-based indices
> >>>>
> >>>> Seconded.  If you must create lists starting at 1, keep in mind
> >>>>
> >>>>       #\ 'abcdefgh'
> >>>>
> >>>> 1 2 3 4 5 6 7 8
> >>>>
> >>>>
> >>>> which Roger even supported with special code.
> >>>>
> >>>>
> >>>> Henry Rich
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On 12/29/2018 11:49 PM, Roger Hui wrote:
> >>>>> Why not use >:@i. ?
> >>>>>
> >>>>> WRT a 1-origin primitive, don't do it!  Even non-APL people know this.
> >>>>> See *Why
> >>>>> numbering should start at zero
> >>>>> <
> >> https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Fewd08xx%2FEWD831.PDF&data=02%7C01%7C%7C9e44f8b9de4d49a54aac08d66e7b98c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636817874454098584&sdata=SwB6%2FtOljN%2BEhNXUoESr4X4bSNi4a3lOTXbbTiw97C0%3D&reserved=0
> >>> .*
> >>>>> 1-origin *delenda est*.
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Sat, Dec 29, 2018 at 8:22 PM 'Skip Cave' via Programming <
> >>>>> [email protected]> wrote:
> >>>>>
> >>>>>> I find that I need to use the expression 1+i.x much more often than I
> >> use
> >>>>>> i.x.
> >>>>>> Would it make sense to define the primitive i; as the one-origin
> >> version of
> >>>>>> i.?
> >>>>>>
> >>>>>> i. 5
> >>>>>>
> >>>>>> 0 1 2 3 4
> >>>>>>
> >>>>>> i; 5
> >>>>>>
> >>>>>> 1 2 3 4 5
> >>>>>>
> >>>>>> i. 2 3
> >>>>>>
> >>>>>> 0 1 2
> >>>>>>
> >>>>>> 3 4 5
> >>>>>>
> >>>>>> i; 2 3
> >>>>>>
> >>>>>> 1 2 3
> >>>>>>
> >>>>>> 4 5 6
> >>>>>>
> >>>>>>
> >>>>>> This avoids all the side effects of quad IO in APL but provides a
> >> handy way
> >>>>>> to generate one-based indices.
> >>>>>>
> >>>>>>
> >>>>>> Skip
> >>>>>> ----------------------------------------------------------------------
> >>>>>> For information about J forums see
> >> https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jsoftware.com%2Fforums.htm&data=02%7C01%7C%7C9e44f8b9de4d49a54aac08d66e7b98c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636817874454098584&sdata=rEAdhjw7xl8avJsOiugshj1EZffAbHvUKhhjF2hbEQg%3D&reserved=0
> >>>>> ----------------------------------------------------------------------
> >>>>> For information about J forums see
> >> https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jsoftware.com%2Fforums.htm&data=02%7C01%7C%7C9e44f8b9de4d49a54aac08d66e7b98c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636817874454098584&sdata=rEAdhjw7xl8avJsOiugshj1EZffAbHvUKhhjF2hbEQg%3D&reserved=0
> >>>>
> >>>> ---
> >>>> This email has been checked for viruses by AVG.
> >>>>
> >> https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avg.com&data=02%7C01%7C%7C9e44f8b9de4d49a54aac08d66e7b98c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636817874454098584&sdata=p0QxrFpfFhA9pyQ%2FZRa6Ekin4BNKn3BLvWGk%2Fqe3W3A%3D&reserved=0
> >>>> ----------------------------------------------------------------------
> >>>> For information about J forums see
> >> https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jsoftware.com%2Fforums.htm&data=02%7C01%7C%7C9e44f8b9de4d49a54aac08d66e7b98c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636817874454098584&sdata=rEAdhjw7xl8avJsOiugshj1EZffAbHvUKhhjF2hbEQg%3D&reserved=0
> >>>> ----------------------------------------------------------------------
> >>>> For information about J forums see
> >> https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jsoftware.com%2Fforums.htm&data=02%7C01%7C%7C9e44f8b9de4d49a54aac08d66e7b98c7%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636817874454254828&sdata=MLxReCknfAxge%2BDeH0pIQHKY6WA7hSRd5998SEb3kJw%3D&reserved=0
> >>>> ----------------------------------------------------------------------
> >>>> For information about J forums see http://www.jsoftware.com/forums.htm
> >>>
> >>> ---
> >>> This email has been checked for viruses by AVG.
> >>> https://www.avg.com
> >>>
> >>> ----------------------------------------------------------------------
> >>> 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