All the the great feedback helps define better what I, and I think many who have come in touch with J, were looking for: the general-purpose core of the language. That is a quite vaguely defined concept, many do understand it intuitively though. J is "a general purpose programming language" http://www.jsoftware .com/help/primer/why_j.htm
I believe this wikipedia quote conveys a somewhat destorted and untrue idea http://en.wikipedia.org/wiki/J_(programming_language): "J is a very terse array programming language, and is most suited to mathematical and statistical programming, especially when performing operations on matrices." There are things that could be done to correct that wrong perception. This general-purpose "core" might be one of them. On Sat, Mar 16, 2013 at 10:05 AM, J. Patrick Harrington <[email protected]>wrote: > On Fri, 15 Mar 2013, Ian Clark wrote: > >> There used to be a range of (spoken) language CDs with names like >> "Learn Swedish Now!" "Learn Arabic Now!" >> They were designed to a common format. One extremely useful feature >> was a list of "The 100 most-used words in the language", ranked in >> order of usage. >> >> Inspired by this, I once extracted from my own scripts a list of J >> primitives ranked by usage. But I've lost the results. I do recall >> they surprised me. >> >> This could be the basis for a coding challenge -- a rather easy one if >> you use (;:) -- write a verb (or a script) which scans a folder of >> scripts and builds a table of primitives ordered by usage. Then >> perhaps we could all run it on our own "j-user" folders and compare >> results :-) >> >> BTW In the 1970s I was offered a tape for research: the 2741 keystroke >> log of a busy IBM APL shop. In the space of a year, "Domino" (⌹ -- >> equivalent to %. in J) was keyed-in precisely twice. Once as a typo. >> And once as a filler-char for a crude histogram. >> >> ...And Domino was touted at the time as the flagship feature of APL! >> >> This really depends upon the user! My programs make constant use of %. > (Except when I use LAPAC.) And with regard to complex numbers: The reason > I began using J was that, at that time, the APL I had access to (Dyalog?) > did not yet have complex arithmetic, which I *needed* to solve radiation > scattering problems. > That is not to say that the idea of a J core isn't a good idea. > > > >> On Fri, Mar 15, 2013 at 5:43 PM, km <[email protected]> wrote: >> >>> Here's a shot at specifying a J core by deleting things from the >>> Vocabulary page. >>> >>> --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) <: Decrement • >>> Less Or Equal >>> >>>> Open • Larger Than >. Ceiling • Larger of (Max) >: Increment • >>>> Larger Or Equal >>>> >>> _ Negative Sign / Infinity _. Indeterminate _: Infinity >>> >>> + Conjugate • Plus +. Real / Imaginary • GCD (Or) +: Double • >>> Not-Or >>> * Signum • Times *. Length/Angle • LCM (And) *: Square • >>> Not-And >>> - Negate • Minus -. Not • Less -: Halve • Match >>> % Reciprocal • Divide >>> %: Square Root • Root >>> >>> ^ Exponential • Power ^. Natural Log • Logarithm ^: Power (u^:n >>> u^:v) >>> $ Shape Of • Shape >>> $: Self-Reference >>> ~ Reflex • Passive / Evoke ~. Nub • ~: Nub Sieve • Not-Equal >>> | Magnitude • Residue |. Reverse • Rotate (Shift) >>> >>> >>> >>> >>> : Explicit / Monad-Dyad >>> :: Adverse >>> , Ravel • Append ,. Ravel Items • Stitch ,: Itemize • Laminate >>> ; Raze • Link >>> ;: Words >>> >>> # Tally • Copy >>> >>> ! Factorial >>> !: Foreign >>> / Insert • Table >>> /: • Sort >>> \ Prefix >>> \: • Sort >>> >>> [ Same • Left [: Cap >>> ] Same • Right >>> { • From {. Head • Take {: Tail • >>> } • Amend (m} u}) }. Behead • Drop }: Curtail • >>> >>> " Rank (m"n u"n) ". Do • ": Default Format • Format >>> >>> >>> @ Atop @. Agenda @: At >>> & Bond / Compose &. &.: Under (Dual) &: Appose >>> ? Roll • Deal ?. Roll • Deal (fixed seed) >>> >>> a. Alphabet a: Ace (Boxed Empty) >>> b. Boolean / Basic >>> >>> >>> >>> e. • Member (In) >>> E. • Member of Interval >>> >>> >>> i. Integers • Index Of i: Steps • Index Of Last I. Indices • >>> Interval Index >>> j. Imaginary • Complex >>> >>> >>> 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/ >>>> >>>> ------------------------------**------------------------------** >>> ---------- >>> For information about J forums see >>> http://www.jsoftware.com/**forums.htm<http://www.jsoftware.com/forums.htm> >>> >> ------------------------------**------------------------------** >> ---------- >> For information about J forums see >> http://www.jsoftware.com/**forums.htm<http://www.jsoftware.com/forums.htm> >> > ------------------------------**------------------------------**---------- > For information about J forums see > http://www.jsoftware.com/**forums.htm<http://www.jsoftware.com/forums.htm> > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
