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
