>  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

Reply via email to