Devon,

You present some great points. As you indicate, there are some J primitives
that are related graphically and functionality (+ +. +:) where the
equivalent APL glyphs (+, v, no-equivalent) aren't related graphically.
However, APL graphically relates the boolean OR and AND (v, upside-down v),
while in J those two primitives are graphically unrelated (+. *.). Then
there are primitives whose monadic functions aren't related, but whose
dyadic functions are (< <. <:).

On the other hand, There are some related primitives in APL that have
graphically-related glyphs (e.g. equal and not-equal) where the equivalent
J primitive symbols = and ~:  aren't graphically related. And there are J
primitives that are related graphically, but aren't particularly related
functionally ($ $. $:). Then there are some J primitives that don't have
any APL equivalent at all.

All this appears to be mostly a disagreement on what primitive functions
should be related, or how they should be grouped, rather than any
fundamental issue. Probably the most challenging aspect of designing
single-glyph symbols for J, will be the issue of related symbols. Is it
more important to show a graphical relationship between boolean AND and OR
like APL does, or to show a graphical relationship between plus (+) and
boolean AND (+.), like J does?

It looks like the first order of business in assigning single glyphs to J
primitives would be to determine the best true functional groupings of the
J primitives.

Currently, J primitives are divided into 20-some groups of three
graphically-related primitives, as well as more groups of two, and some
singles. I suspect that many of the the groups of three were dictated more
by the availability of the two glyphs: period (stop) and colon, used as as
modifiers, rather than the blind luck of having most related primitives
that just happen to fall in groups of three. There are some reasonable
related groupings (^ ^. ^:) but then there are groups of
graphically-similar symbols that are functionally unrelated as well ($ $.
$:), (~ ~. ~:)

In a grouping exercise, we would need to ignore the glyphs or symbols of
either language, and try to group J primitives into the most appropriate
related functional groups. We could use the primitive names rather than the
symbols when placing the groups, to avoid biasing our choices with current
graphical groupings.The focus should be on functional groups of primitives,
with no constraints on how many primitives will be in a group.

I'm sure that there will be disagreements on what the groupings should be.
However, the final goal would be to make functionally-related primitives
look related, graphically. This would help tremendously when learning the
language. We might even be able to design glyphs that would show that
boolean AND is related to *both* the boolean OR *and* to the signum (plus
+). The more graphical hints as to functionality that one can build into
the glyph without making the glyph too complex, the better. The art of
glyph design could be quite a chalenge.

It would be great if there was a way to define the "closeness of
relationship" of various pairs of primitives, kind of like the "degrees of
separation" in a personal relationship matrix. If we had a number which
specified the closeness of each primitive to every other primitive, we
could provide a reasonable cut at the best groupings, which would lead to
graphically-related glyphs for each group.

I will have to cogitate on this "degrees of separation" thing a bit more.

Skip

On Mon, Apr 8, 2013 at 12:50 PM, Devon McCormick <[email protected]> wrote:

> This is nice but avoids the hard parts of the problem.
>
> It's easy to say that "i." is "iota", but where does "i:" fit in?  In J,
> the "dot" and "colon" versions of a verb often have a a fitting relation,
> e.g. "+" is addition, "+." is logical "or", and (monadic)  "+:" is
> "double"; analogously, "*" is times, "*." is logical "and", and (monadic)
> "*:" is "square".  Or, how about (^ ^. ^:) as "power", "log" and "power
> conjunction"?  The APL characters, as pretty as they are, lose these
> relations between concepts
>
>
> On Mon, Apr 8, 2013 at 12:52 PM, William Tanksley, Jr <
> [email protected]
> > wrote:
>
> > That really is magnificent -- and I speak as someone who stopped trying
> to
> > learn APL (before J was easily available) because I found the character
> set
> > unapproachable. I could easily see myself switching to that overlay for
> > normal coding and reading.
> >
> > I'd like to see this developed into a coherent standard with concern for
> > the capabilities of different editors (I use vim and Android).
> >
> > Marc Simpson <[email protected]> wrote:
> >
> > > Personally, I think this is a neat idea and one worth pursuing. I tried
> > > something similar in Emacs using overlays a while back (Don might
> recall
> > > this). Examples from that experiment:
> > > http://0branch.com/snippets/j-symbols3.png
> > > http://0branch.com/snippets/j-symbols4.png
> > >
> >
> > -Wm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
>
>
>
> --
> Devon McCormick, CFA
> ^me^ at acm.
> org is my
> preferred e-mail
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>



-- 
Skip Cave
Cave Consulting LLC
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to