Note (-: /:~)@, is <:, not <.
Also: recast as (-: /:~)@,&<, it suffices to compare any two values, not just
scalars of like type.
On Sat, 10 Dec 2022, Raul Miller wrote:
Oops, I said (-: /:) when I should have said (-:/:~)@,
(And, (-:/:~)@,"0 for comparing individual boxed strings.)
Very, very different concepts.
I hope I did not confuse anyone there, but I probably did.
--
Raul
On Sat, Dec 10, 2022 at 3:18 PM Raul Miller <[email protected]> wrote:
Comparing strings is different from comparing characters.
One approach would be to compare boxed strings -- this would require
using the (-: /:) mechanism. Or, perhaps (-: /:)"0 depending on the
desired result.
Another approach would compare character lists. This would require
they be the same length. Here, you could use the <&(3&u:) mechanism
but it would fail on unequal length strings (just as < would fail on
unequal length number lists).
Anyways, ... unicode gets into some "interesting territory" when
talking about ordering of "characters":
B0=: {.B1=: 7 u: B2=: 'β'
B0
β
B1
β
B2
β
B0 >&(3&u:) B1
0
B0 >&(3&u:) B2
1 1
It's really simple.
Except, when it's not.
--
Raul
On Sat, Dec 10, 2022 at 2:49 PM Devon McCormick <[email protected]> wrote:
>
> Raul's expression "<&(3&u:)" made me think of the endless complications for
> character comparison once you include multi-byte representations as in
> Unicode.
> So this initial expression works fine but extending it beyond elements of a.
> leads to ambiguity.
> 'A' <&(3&u:) 'a'
> 1
> a. i. 'Aa' NB. confirming the inequality
> 65 97
> NB. (load "define-abbrev-table.el") NB. This allows me to enter special
> characters in emacs
> 'α' <&(3&u:) 'a'
> 0 0
> 'α' <&(3&u:) 'β' NB. So should we say alpha is only partially
> less than beta?
> 0 1
> (<a.) i. &> 'α';'β'
> 206 177
> 206 178
>
>
>
> On Sat, Dec 10, 2022 at 7:28 AM 'Mike Day' via Chat <[email protected]>
> wrote:
>
> > Yes, my suggestion was an example of using /:~ to exploit J's inbuilt
> > ordering for a
> > simple, quick answer; but maybe
> > /:~ 'aA1.;'
> > (eg) isn't the order relation you require, so I agree with Raul.
> >
> > Mike
> >
> > Sent from my iPad
> >
> > > On 9 Dec 2022, at 19:22, Jimmy Gauvin <[email protected]> wrote:
> > >
> > > Hi,
> > >
> > > the domain of < and others could be extended to include characters.
> > >
> > > Sorting with /: and \: implies there is an "order" relation between
> > > characters.
> > >
> > >
> > > J
> > >
> > >> On Fri, Dec 9, 2022 at 6:21 AM Donna Ydreos <[email protected]> wrote:
> > >>
> > >> The domain of < is numeric. You can create a function for letters with
> > >> reference to alphabetic order or some given order including say all ASCI
> > >> characters.
> > >>
> > >>>> On Dec 9, 2022, at 3:47 AM, Jimmy Gauvin <[email protected]>
> > wrote:
> > >>>
> > >>> Hi all,
> > >>>
> > >>> testing character data for equality works fine but testing for relative
> > >>> order does not.
> > >>>
> > >>> 'a'<'v'
> > >>>
> > >>> |domain error
> > >>>
> > >>> | 'a' <'v'
> > >>>
> > >>> 'a'='v'
> > >>>
> > >>> 0
> > >>>
> > >>> Is this explained somewhere ?
> > >>>
> > >>> Thanks,
> > >>>
> > >>> Jimmy
> > >>> ----------------------------------------------------------------------
> > >>> 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
> >
>
>
> --
>
> Devon McCormick, CFA
>
> Quantitative Consultant
> ----------------------------------------------------------------------
> 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