Boyko Bantchev <[email protected]> wrote:

> > I was simply trying to point out that you chose to apply the meaning of
> > "between" not from the J terminology of "between" but from some other
> > context where it is not clear of order. J documentation makes it very clear
> > for J context.
>
> Does it?  How?  I don't believe `between' is some notion specific
> to J.  I don't see a definition of it.  Between is between, let's
> not put a halo of specialness around it.

If a term (such as between) is not clearly defined in the J dictionary as
having a specific linguistic meaning with respect to J (as some words like
"noun", "verb", "gerund", etc. do), one should assume that it means what
it does in an English dictionary, and/or common usage.

If you are given instructions to make stacks of plates, and told to place
sheets of paper between the plates to prevent chipping, you would make a
stack of 10 plates with 9 pieces of paper, 2 plates with 1 piece of paper,
or 1 plate with no pieces of paper. This follows the common-sense semantics
of "between" without requiring any further clarification, and is exactly
what J does as well. The case with 0 plates is clearly anomalous, but the J
dictionary explicitly defines the specific behavior for insert over 0 items.

> No, you maintained quite a different stand (to which I objected):
> that in DoJ -- which for J is supposed to be the analogue of the
> formal definition of arithmetic

Unfortunately, the J dictionary in itself is not a full specification of the
J language, any more than an English dictionary is a full specification of the
English language. In particular, the definitions of the foreigns (including wd
commands in J versions before 7) are merely summaries, and often omit
specifics about rank, parameter and result semantics, error results, etc.
I have seen APL language specifications that are much more clear in this regard
(for example, detailing every possible error condition that could possibly be
thrown by every primitive, and the circumstances under which such errors could
occur).

I DO agree that the definition of / could perhaps be more clear;
in particular, using -/ rather than +/ to make the right-to-left behavior
explicit, especially in the light of the fact that different related
languages do it differently (APL and J are right-to-left, K is left-to-right).
But I also believe that the J dictionary, as it is written, provides sufficient
information to unambiguously implement / as it is implemented now.

-- Mark D. Niemiec <[email protected]>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to