On Mon, Apr 11, 2011 at 8:27 AM, Boyko Bantchev <[email protected]> wrote:
> A definition should be conclusive by itself (possibly referring to other
> text to avoid repetition but, one way or another, sufficient).

I am not sure if this mean that, for example, the definition of +
would need to conclusively define the following concepts:

o   numbers
o   arrays
o   rank

If that was your meaning, then I think I have to disagree with you.
Because the definition for * has the same dependencies.  And, so does
the definition for every other arithmetic operation in J.

In fact, the definition for + does not even define addition -- it
expects that the reader will already comprehend that issue and
includes no examples of addition, not even for cases like 0 + 1.

But that's pretty much the way that most dictionaries work.  They
provide definitions that can be useful, for reference, but they are
not complete in the sense that I think you are looking for.

And, these are not simple issues, especially when we consider
obscurities like the contrasts between mathematical properties of
numbers and properties of machine representation of numbers near the
boundaries of what they can represent.

Put differently, the dictionary is rather like a collection of user
stories for the language (albeit, with some illustrative examples).

http://en.wikipedia.org/wiki/User_story

> Then, I agree that the two sentences that you cite are informative if
> combined.  But they are in different chapters, they follow each other
> in the wrong order, and they still leave room for doubt: what if it was
> -/ rather than +/ ?  Would it be equivalent to 1-2-3-4?

Yes, clearly -/1 2 3 4 must be equivalent to 1-2-3-4

> (Ammusingly, wherever I see examples of u/, u is always +, or *, or
> <., etc.; it is never -, or %, or ^.  I.e. (commutative and) associative
> verbs are used, from which one cannot deduce whether the computation
> is R-L or L-R.)

http://www.jsoftware.com/help/dictionary/d300.htm uses -/ in a way
that can only be valid for right-left computation.

> Most importantly, as I said, the definition of / should be in one place,
> not scattered around.

I do not think this is possible without including some rigorous
constraints on the background of the reader (and the result would
necessarily be scattered around for people lacking that background).

That said, I have often wanted something like a wiki presentation of
the dictionary, where we could make small incremental changes.

> And then again, there remains the problem of precisely specifying
> u/y for 1=#y (which, too, should be done in the article defining /).

Unless 0=#y (which is explicitly treated), u/y necessarily has _1+#y
instances of u.  This follows immediately from the first sentence at
http://www.jsoftware.com/help/dictionary/d420.htm

That said, if you want to write a specification of J, which suits your
own tastes, I think that that would be ok.

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

Reply via email to