The NuVoc entry on ` also covers it well:

http://www.jsoftware.com/jwiki/Vocabulary/backtick
On Nov 3, 2013 4:45 PM, "Joe Bogner" <[email protected]> wrote:

> Thanks Dan and Brian
>
> I didn't associate a.r.s with atomic representations, so I was stuck
> at that point. I've skimmed through the gerunds paper and realized it
> will take more concentration than what I can dedicate while watching
> my 1 yr old crawl around. It looks like there is good stuff to study
> in there, much like this e-mail thread. Hopefully later tonight or
> tomorrow.
>
> The IF and CASE example in the paper caught my eye as I've had to
> write the scalar oriented way many times and like the look of the
> gerunds and CASE alternative.
>
> v0 =. _20&[
> v1=. 0.08 & *
> v2=. (0.08*20000)&+ @
> (0.09&*) @ (-&20000)
> int=. v0 ` v1 ` v2 ` :5"0
> range =. +/@(1000 20000&<:)"0
>
> This section of Learning J covers some of the same concepts:
> http://www.jsoftware.com/docs/help701/learning/10.htm and helped me
> translate that into today's J
>
> Thanks for the links and new topic to explore.
>
> On Sun, Nov 3, 2013 at 3:12 PM, Dan Bron <[email protected]> wrote:
> > I wrote:
> >>  Bernecky, R., and R.K.W. Hui, Gerunds and
> >>   Representations, APL91, APL Quote Quad,
> >>  Volume 21, Number 4, 1991-08.
> >>
> >>       http://www.snakeisland.com/gerunds.htm
> >
> > Unfortunately, the paper doesn't go into much more detail on the
> > construction of a.r.s than does the Dic page cited earlier.
> >
> >         The atomic (boxed, canonical) representation
> >         of an object uniquely represents it, and is either
> >         a boxed identifier (for primitive objects); or a
> >         boxed list of two boxes, the identifier and arguments
> >         (for derived objects). The identifier for
> >         a primitive verb, adverb, or conjunction is simply
> >         (and arbitrarily) its 1- or 2-letter spelling;
> >         the identifiers for a noun, hook, and fork are
> >         0, 2, and 3, respectively. Arguments are recursively
> >         so represented. User-defined conjunctions
> >         and adverbs (operators) and verbs (functions)
> >         are merely those derived from the definition conjunction
> >         (:), and are, therefore, covered by this
> >         scheme.
> >
> > It does, however, go into depth on their motivation and justification.
>  And,
> > for those of us with a tinge of OCD, it also dispels the mystery of the
> > heretofore inexplicable gaps in the function codes for `: (which, today,
> > only takes codes 0, 3, and 6).
> >
> > In particular, the paper laid out several function codes absent today.
>  The
> > full table is:
> >
> >         g`:0 Abut (same as today, mostly)
> >         g`:1 DO-UNTIL (takes exactly 4 verbs)
> >         g`:3 or g/ Insert (same as today; variously called g`:2 and g`:3
> in
> > the paper)
> >         g`:4 Recursion (takes exactly 4 verbs)
> >         g`:5 IF-THEN-ELSE and CASE (we'd use @. today)
> >         g`:6 MIMD (today's g`:6 is closer to a combination of what the
> paper
> > has as g`:57 and g`:59)
> >         g`:57 Hook
> >         g`:59 Fork
> >
> > The latter two (57 & 59) have been rationalized & generalized as g`:6
> today,
> > and the original g`:6 can be implemented with a combination of `:0 and "
> in
> > today's notation (modulo actual, physical, parallelization).
> >
> > -Dan
> >
> > PS:  For the real wonks, point of historical interest:
> >
> > Despite this early paper's assertion that
> >
> >         User-defined conjunctions and adverbs (operators)
> >         and verbs (functions) are merely those derived from
> >         the definition conjunction (:), and are, therefore,
> >         covered by this scheme.
> >
> > At one point, J did have explicit a.r. encodings for user-defined
> operators.
> > From the archived documentation at
> > http://www.cs.trinity.edu/About/The_Courses/cs2322/jdoc/dict/dx005.htm :
> >
> >  0  Noun
> >  2  Hook
> >  3  Fork
> >  4  Bonded conjunction
> >  5  Bident
> >  6  Trident
> >  7  Defined operator (pro-adverb or pro-conjunction)
> >
> > These extra codes - 5, 6, and 7 - were later removed. In fact, they were
> all
> > probably both introduced and removed with the trains table. The trains
> table
> > was introduced after the 1991 paper (explaining why it thought : was the
> > only way to define operators) and removed in J5, taking the vast
> majority of
> > bidents, tridents and tacitly defined operators with it, thus rendering
> > codes 5,6, and 7 obsolete.
> >
> > ----------------------------------------------------------------------
> > 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