On Fri, Mar 15, 2013 at 1:43 PM, km <[email protected]> wrote:
> Here's a shot at specifying a J core by deleting things from the Vocabulary 
> page.

Here are some of my opinions:

> =  • 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

Core J does not need decrement, nor increment - you can use -&1 or +&1

> _ Negative Sign / Infinity      _. Indeterminate        _: Infinity

Core J does not need indeterminate, nor should it need constant
functions.  You can use constant"_ for example.

> + Conjugate • Plus      +. Real / Imaginary • GCD (Or)  +: Double • Not-Or

Core J should probably ignore complex numbers (this also discards some
later verbs).  They are useful but not that useful.  Double and Not-Or
can also be ignored.  I'd also discard boolean operations.

> * Signum • Times        *. Length/Angle • LCM (And)     *: Square • Not-And

The only core element on this line is, I think: Times

> - Negate • Minus        -. Not • Less   -: Halve • Match

I'd ignore Halve.

> % Reciprocal • Divide
> %: Square Root • Root

I'd ignore %:

> ^ Exponential • Power   ^. Natural Log • Logarithm      ^: Power (u^:n u^:v)
> $ Shape Of • Shape
> $: Self-Reference

I'd ignore ^. and $:

> ~ Reflex • Passive / Evoke      ~. Nub •        ~: Nub Sieve • Not-Equal

I'd ignore nub sieve and evoke.

> | Magnitude • Residue   |. Reverse • Rotate (Shift)
...
> : Explicit / Monad-Dyad
> :: Adverse

I'd ignore Adverse (it's rarely used, and for good reason)

> , 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

I'd ignore &.: and @: and &: - they are convenient but unnecessary.
Similarly, I'd ignore {: and }: - we are trying to give the beginner a
simpler to learn vocabulary.

u@v is equivalent to u@(v"_) for example.

> ? Roll • Deal   ?. Roll • Deal (fixed seed)

I'd ignore ?.

> a. Alphabet     a: Ace (Boxed Empty)
> b. Boolean / Basic

I'd ignore b.

> e.  • Member (In)
> E. • Member of Interval
>
> i. Integers • Index Of  i: Steps • Index Of Last        I. Indices • Interval 
> Index
> j. Imaginary • Complex

I'd ignore i: and j.

> NB. Comment

I'd also be hard pressed to find an application which used all of
these, which was suitable as an illustration for beginners.

That said, rather than trying to define a comprehensive "core
vocabulary" I'd be interested in a concept like "J material for
beginners should begin with a vocabulary pertinent to that essay".

FYI,

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to