Subject: [J-learn] Sessions 7 & 8 and future

From: Arthur Anger <[email-masked]>
Date: Fri, 30 Jan 2009 17:36:39 -0500

Students--
I did rest on Wednesday, but must not have been fully awake when I sent my
message without the attachments.

I have already attached scripts named Contra and Aliases.  The former makes
extensive use of the "literate" definitions in the latter, in the hope that
they will reduce the level of mental gymnastics involved in reading (and
writing) program scripts.  Familiarity with these names does not greatly assist
with reading the examples in the Vocabulary definitions and Dictionary Phrases. 
(It is rumored that APL and J are better accepted in Japan precisely because
they do not rely much on words.)

The Contra script shows examples of all three function-definition formats: 
multi-line and one-line explicit definitions, in which arguments appear by
name, and implicit definitions consisting of verb trains.  Arguments enter
implicit definitions only through standard verb association (often through
Right or Left, and through the magic transport of hook or fork interpretation),
and any other parameters must be bound or conjoined to verbs (explicitly!).

The goal in designing the programs was to enable direct execution of sequences
of defined words closely approximating typical phrases used to direct
contra-dancers.  The argument-pipeline approach used here offers fair
flexibility, but is not the only approach that might be used.  More elaborate
implementations could analyze a wider variety of text input in one or more
passes to determine what to execute.

The data manipulations in this script illustrate a variety of generation,
selection, and restructuring actions, useful in many fields of application. 
Use of strictly numerical functions should be easily managed by those who need
them.   A fruitful option, particularly convenient in J, is that of applying
numerical calculations to determine index positions or to produce intricate
logical-selection patterns.

If you have seen all that you care to see about J, you may unsubscribe from the
mailing list.  If you later have relevant questions, send them to me;  if you
suspect that other students may be in a similar quandary, write to me via the
class list, and I'll reply there.  If you're really hooked on the subject,
browse all the supplied Help areas, and items in the Books list in the JWiki
section at JSoftware.Com;  Iverson's "Math for the Layman" is not merely good
for describing J but also for analyzing how mathematicians and other scientists
should approach their work.

Best wishes, and do let me know when you find J useful to you.
--Art