> You could show the J code using variables such as x and y, and display the
> values of x and y graphically without showing how they were created.
In the front matter of the dictionary, we could declare some notational
conventions, such as
N is a noun and always refers to a scalar nonnegative integer
(e.g. the output of monad #).
Np is a noun and always refers to a scalar positive integer.
Nn is a noun and always refers to a scalar negative integer.
Nn0 is a noun and always refers to a scalar non-positive integer.
P is a noun and always refers to a scalar prime integer.
T is a noun and always refers to a table of numbers,
unless otherwise specified, T is equal to the rank 2 numeric
array
i. 4 4
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
that is, T=:i. 4 4 .
B is a noun and always refers to an (arbitrary rank) array of
boxes.
G is a gerund, normally a vector of boxes (each box the atomic
representation of some entity, but normally the entity is a verb).
f is a verb, and if another verb is needed, it is named g.
Further verbs are named v0, v1, v2, etc
....
u is the left argument to a conjunction or adverb; it may refer to a
noun or verb. Unqualified, it often its often a proverb; context will
resolve any ambiguities.
v is the right argument to a conjunction; it may refer to a pronoun
or proverb. Unqualified, it often its often a proverb; context will
resolve any ambiguities.
m is the left argument to a conjunction or adverb when it
unambiguously refers to a noun.
n is the right argument to a conjunction when it unambiguously
refers a noun.
When defining adverbs or conjunctions which consume verbal
arguments, we may refer to the ranks of these verbal arguments as
follows:
adverb or left argument to a conjunction:
lr the entire (3 atom) rank of the verbal argument
lmr the monadic rank of the monadic argument
llr the left rank of the dyadic argument
lrr the right rank of the dyadic argument
with intial "l"s replaced with "r"s for verbal right arguments to
conjunctions.
Mnemonic: left arguments always have single-letter names which,
in the alphabet, appears one letter to the left of the letter selected
for the corresponding right argument; x vs y, u vs v, m vs n, f vs g.
Note that this may run counter to the mathematical convention
which reverses these roles (e.g. a math function with a single
argument will name it x, and if a second argument is added it is
named y; but in J the initial argument is always named y and a
second argument is always named x)
....
Unless otherwise specified, "vector" and "list" mean a rank 1 noun.
For example, 0 1 2 3 and 'abcd' are both (unqualified) vectors or
lists. We may also refer to vectors or lists "of" items, such as
vectors of tables or vectors of vectors. For example i. 4 4 can be
seen as a table, or as a vector of vectors, and i. 4 4 4 can be seen
as a cube or a vector of squares.
Unless otherwise specified, "table" means a rank 2 noun. For
example, i. 4 4 is an (unqualified) table of 16 integers. We
may also refer to tables OF items, such as tables of vectors.
For example
....
This is in the tradition of the current DoJ [1] (and other reference texts),
while being more verbose and "tutorial", which is how
the new dictionary differs from the current one.
-Dan
[1] http://www.jsoftware.com/help/dictionary/dict3.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm