I heartily agree with your proposal. My experience, has been somewhat up and down but having has considerable APL experience, much of it was made easier for me.However, there are many dictionary entries that jump in with both feet- often with examples that are more complex than needed -sometimes putting one in the position of looking up another entry which in turn uses concepts from the original entry. I have spent some time going through making my own examples -hardly complete at present- often coming up with what "should but doesn't " work and including a brief warning for myself. Having multiple examples boxed is space saving but it does make many examples hard to read- partly because the examples are themselves overcomplex. Maybe a "school dictionary" in addition to the full library reference dictionary.

Don Kelly

On 16/03/2013 12:01 AM, Linda Alvord wrote:
Although these choices might be guidelines, Ken always encouraged the teaching of 
"something". Once a topic is chosen, it is developed using the notation needed. 
It is the story that is being told that makes the language come alive. The grammar 
becomes familiar with more use.

To me what is needed is short stories in the dictionary which give simple and 
then more complex examples of the terms being explained. Now that so much 
information can be delivered so quickly, seven or eight examples could be given 
of a single verb rather than one example that often requires previous knowledge 
of many other complicated ideas.

If you are reading a dictionary and you find what you want in the simple uses 
of the word you are looking for, it is not necessary to continue reading 
possible uses in more complex situations. Also, reading several different uses 
serves to make the concept more easily understood.  Taking away parts of the 
language does not seem to be the answer.  Rather better story telling of topics 
carefully developed in simple steps chosen because they are needed for that 
particular story are most helpful.

Linda

-----Original Message---
From: [email protected] 
[mailto:[email protected]] On Behalf Of sekm
Sent: Saturiday, March 16, 2013 12:00 AM
To: [email protected]
Subject: Re: [Jprogrammingi] Learning J language - initial thouwhghts

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

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

Reply via email to