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