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