See also the lab "An Idiosyncratic Introduction to J". I used that in the Jsoftware booth at math meetings. Took 5 to 10 minutes, much more if the visitor asked substantial questions. To paraphrase a saying from another context, I wanted a pool in which a child can wade and an elephant can, if not drown, be challenged.
Ken took that and expanded it into the lab "A J Introduction". ----- Original Message ----- From: Kip Murray <[email protected]> Date: Saturday, September 12, 2009 19:10 Subject: [Jprogramming] Flavor of J To: Programming forum <[email protected]> > For me the flavor of J is functions (verbs), operators (adverbs > and > conjunctions), and arrays: the J programmer thinks at this level > of abstraction > to solve his problems, and the extended example below intends to > give visitors a > taste of this flavor. > > However, this omits the use of J for windows programming. > How would you > describe the J flavor of that, and what taste would you give visitors? > > Here is my extended taste of "functions, operators, arrays" for > a visitor. > > ]L =: i. 4 NB. assign (=:) and > display (]) a "line" (vector) of 4 integers > 0 1 2 3 > > ]P =: i. 2 4 NB. a two-line > "page" (matrix) > 0 1 2 3 > 4 5 6 7 > > ]B =: i. 3 2 4 NB. a three page > "book" (array) > 0 1 2 3 > 4 5 6 7 > > 8 9 10 11 > 12 13 14 15 > > 16 17 18 19 > 20 21 22 23 > > L NB. show L > 0 1 2 3 > > +/ L NB. operator / inserts > function + between items, we see sum > 6 > > P > 0 1 2 3 > 4 5 6 7 > > +/ P NB. items of a page are its > lines, we see the sum of two lines > 4 6 8 10 > > B > 0 1 2 3 > 4 5 6 7 > > 8 9 10 11 > 12 13 14 15 > > 16 17 18 19 > 20 21 22 23 > > +/ B NB. items of a book are its > pages, we see sum of three pages > 24 27 30 33 > 36 39 42 45 > > L NB. show L > 0 1 2 3 > > +/\ L NB. operator \ applies +/ to > "prefixes", gives cumulative sums > 0 1 3 6 > > P > 0 1 2 3 > 4 5 6 7 > > +/\ P > 0 1 2 3 > 4 6 8 10 > > B > 0 1 2 3 > 4 5 6 7 > > 8 9 10 11 > 12 13 14 15 > > 16 17 18 19 > 20 21 22 23 > > +/\ B > 0 1 2 3 > 4 5 6 7 > > 8 10 12 14 > 16 18 20 22 > > 24 27 30 33 > 36 39 42 45 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
