I take pleasure in trying to understand and defend J formally, from the DoJ.
So personally I would like the DoJ to be more explicit and prescriptive in
this and other cases; ideally it would be possible to reproduce the current
implementation of J using nothing more than the text of the Dictionary.
Having said that, I recognize that ambiguity is inevitable and to try to
eliminate it is just chasing the horizon*.
As we've discussed in the past, there will always be some level of ambiguity
in any specification (check WP on the Munchhausen trilemma). Here's a
relevant quote from the person with the most experience interpreting the DoJ
and implementing the language:
I don't know that a person who doesn't know APL or
J can implement J from the J dictionary. My guess
is that the resulting implementation can look
quite different. (It may not even be an
interactive system, for example.)
http://www.jsoftware.com/pipermail/programming/2010-January/017795.html
So, I agree with Boyko that the definition of / in particular is wanting,
and that primitives in general should be comprehensive without being
repetitive of previously-defined concepts, and I agree with Raul that in
general it is difficult to decide where to draw the line on what should be
specified and what inferred from elsewhere, because it is not possible to
specify everything. I also agree that examples and experimentation (working
through examples by oneself) illuminate and clarify definitions, and aren't
just desirable but necessary for definitions.
Here's another quote I really like, this time from our resident professional
mathematician, John Randall:
As to learning mathematics, I believe that proofs are a post hoc
formalization, and that almost all mathematics proceeds from
examples. Indeed, theorems without concrete examples are dismissed
as
"general nonsense".
http://www.jsoftware.com/pipermail/programming/2007-July/007298.html
-Dan
* Though that does not mean that we should ignore all ambiguities; for
example, if we come to an agreement that / is underspecified, we should
treat that as a bug, and fix it. The cost is low enough.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm