Although these choices might be guidelines, Ken always encouraged the teaching of "s
-----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of km Sent: Saturday, March 16, 2013 12:00 AM To: [email protected] Subject: Re: [Jprogramming] Learning J language - initial thoughts Thanks. This was more work than deleting names from Vocabulary, and it is worth it. --Kip Sent from my iPad On Mar 15, 2013, at 10:37 PM, Marshall Lochbaum <[email protected]> wrote: > Here's a stab at this kind of organization, leaving out words for > specific areas of math. Of course these words can be organized in much > the same way. > > BASICS > =. Is (Local) =: Is (Global) > _ Negative Sign / Infinity > : Explicit / Monad-Dyad > " Rank (m"n u"n m"v u"v) > NB. Comment > _9: to 9: and _: Constant Functions > > > ARITHMETIC > - Negate > % Reciprocal >> : Increment > <: Decrement > + • Plus +: Double > - • Minus -: Halve > * • Times *: Square > % • Divide %: Square Root > > <. Floor • Lesser Of (Min) >> . Ceiling • Larger of (Max) > > ^ Exponential • Power ^. Natural Log • Logarithm > > > LOGIC > = • Equal ~: • Not-Equal > < • Less Than <: • Less Or Equal >> • Larger Than >: • Larger Or Equal > > +. • Or *. • And > -. Not > > > LISTS > $ Shape Of • Shape # Tally • Copy > , Ravel • Append ,: Itemize • Laminate > > { • From > {. Head • Take {: Tail • > }. Behead • Drop }: Curtail • > > -: • Match > |. Reverse • Rotate (Shift) > > / Insert • Table > > i. Integers • Index Of > e. Raze In • Member (In) > > /:~ Sort Up \:~ Sort Down > -. • Less > ~. Nub > > > COMPOSITIONS > ^: Power (If) > ~ Reflex • Passive > @ Atop @: At > & Bond / Compose &: Appose > &. Under &.: Under > [ Same • Left ] Same • Right > > > STRINGS > ". Do ": Default Format > a. Alphabet > > > BOXES > < Box > Open > ; Raze • Link > ;: Words > > Marshall > > On Fri, Mar 15, 2013 at 11:00:41PM -0400, Marshall Lochbaum wrote: >> I'll jump in here and point out that words vary massively in their >> potential to confuse. You've taken out >: <: +: -: *: %: , but these >> verbs are dead simple to remember (and, as a bonus, you can do all of >> them at once), and often make reasoning with J a lot easier. I >> couldn't teach J without using these because they are simple monadic >> verbs with easy utility. +/&.:*: is a great way to teach how &.: works. >> +/&.:(^&0.5) is not. >> >> On the other hand there are the words--particularly conjunctions and >> adverbs--that are very difficult to figure out. You've taken out most >> of these, like /. and ;. . I think } and ,. also belong in this >> category. } is, though merely awkward in theory, actually a patchwork >> of corner cases. ,. and to a lesser extent ,: are difficult to get >> right, and I think ,. is better taught as ,"_1 in both valences. >> These are the words that really need to be taken out. Leave the >> technically useless but simple and convenient words alone. >> >> This list looks like it's tending towards an effort to gut as many >> words as possible and make the language look small. I think a better >> approach would be to organize words into a few groups--arithmetic, >> logic, lists, compositions, and heavy mathematics--which contain a >> larger selection of useful operations and stress the symmetry of >> these (why would you take out any of {. {: }. }: when they are easy >> to teach in a group?). Words that are truly confusing and take a long >> time to understand (H. , >> anyone?) would be left out. >> >> Marshall >> >> On Fri, Mar 15, 2013 at 08:15:29PM -0500, km wrote: >>> >>> Here's the latest J core, using additional paring suggested by Raul. >>> >>> I did keep }: because of puzzling things that happen if you use _1&{. >>> instead (giving you a vector instead of a scalar). And I took out GCD . >>> >>> --Kip Murray >>> >>>>> << Usr Pri JfC LJ Phr Dic Rel Voc !: Help Dictionary >>> >>> Vocabulary ( Constants Controls Foreigns Parts of Speech ) >>> >>> = • Equal =. Is (Local) =: Is (Global) >>> < Box • Less Than <. Floor • Lesser Of (Min) <: • Less Or Equal >>>> Open • Larger Than >. Ceiling • Larger of (Max) >: • Larger Or Equal >>> _ Negative Sign / Infinity >>> >>> >>> + • Plus >>> >>> * • Times >>> >>> - Negate • Minus -. Not • Less -: • Match >>> % Reciprocal • Divide >>> >>> >>> ^ Exponential • Power >>> ^: Power (u^:n u^:v) >>> $ Shape Of • Shape >>> >>> ~ Reflex • Passive ~. Nub • ~: • Not-Equal >>> | Magnitude • Residue |. Reverse • Rotate (Shift) >>> >>> >>> >>> >>> : Explicit / Monad-Dyad >>> >>> , Ravel • Append ,. Ravel Items • Stitch ,: Itemize • Laminate >>> ; Raze • Link >>> ;: Words >>> >>> # Tally • Copy >>> >>> ! Factorial >>> >>> / Insert • Table >>> /: • Sort >>> \ Prefix >>> \: • Sort >>> >>> [ Same • Left [: Cap >>> ] Same • Right >>> { • From {. Head • Take {: Tail • >>> } • Amend (m} u}) }. Behead • Drop >>> >>> " Rank (m"n u"n) ". Do • ": Default Format • Format >>> >>> >>> @ Atop @. Agenda >>> & Bond / Compose &. Under (Dual) >>> ? Roll • Deal >>> >>> a. Alphabet a: Ace (Boxed Empty) >>> >>> >>> >>> >>> >>> >>> e. • Member (In) >>> E. • Member of Interval >>> >>> >>> i. Integers • Index Of >>> I. Indices • Interval Index >>> >>> >>> >>> >>> NB. Comment >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>>>> << Usr Pri JfC LJ Phr Dic Rel Voc !: Help Dictionary >>> >>> Sent from my iPad >>> >>> >>> On Mar 15, 2013, at 10:27 AM, Greg Borota <[email protected]> wrote: >>>> >>>> 3) I am not the first to mention this. I wish there was a minimal J >>>> language core documented/available. I see veterans on this forum >>>> saying things like: "I almost never use some of those verbs". Is >>>> there not a minimal J language core targeting general language use? >>>> For example, leaving out specifics like numerical analysis, >>>> statistics, etc. This might help some not drop by the way side. >>>> E.g. http://xprogramming .com/category/j-language/ >>> >>> >>> On Mar 15, 2013, at 3:26 PM, Raul Miller <[email protected]> wrote: >>> >>> ... >>>> >>>> I'd probably also eliminate foreigns from "core". Foreigns are >>>> about as peripheral as you can get. The beginner should probably >>>> be told to start with covers (fread, fwrite, ...). >>> -------------------------------------------------------------------- >>> -- 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
