> From: Don Watson
>
> J documentation is very good at explaining what and how - but
> contains very little on why.
>
> I tried a few alternatives that I submitted to the General Forum,
> but I just couldn't get to understand J that way. Then I started right
> from the beginning and proceeded forward logically until I found
> something that made sense - which I am now calling revised tacit J.
> That resulted in the paper that I submitted to the chat forum on
> 22nd April.
>
> I then subjected your tacit J to the same kind of analysis and
> determined why. Someone decided that it would be very concise to write
> four symbols side by side to represent a fork followed by a hook.
> This is a very concise way of defining the deviation from the mean,
> for example. The problem is that a one off rule that doesn't fit the
> rest of the rules leads inevitably to a mess.
Don it seems to me that your current position is:
* You think some form of tacit would be good
* You found(find?) it difficult to understand tacit J
* You don't see any reason for why tacit J is structured the way it is
* You think perhaps it was an arbitrary decision designed to make the
expression of the mean simple
* As a result you believe that the structure is overly complicated and
if a simpler version could be created it would be more accessible to
others
There are good (mathematical) reasons for the structure of tacit. This paper
may help give you some ideas of the sorts of issues and the different options
that were considered:
http://www.jsoftware.com/papers/fork.htm
> I am discouraged that tacit J seems to discourage the use of
> constants to the left of dyadic verbs, but can live with it. You can
> include a named noun to the left of a dyadic verb in tacit
> programming as you wish. However, if you wish to avoid global variables
> that have to be set before a named verb can be used, then you must
> avoid named nouns in the definition of that verb.
Sometimes I think you understand the tacit form and am impressed because I know
it took me a lot longer to do so, however at other times like this & when you
asked how something like (x * y) - (x +_ y) would be expressed as tacit, I'm
not so sure. Maybe you need to let it ferment for a while?
> I have stopped worrying about avoiding confrontation with J users.
> This discussion is long past that. J is broken and until it is fixed,
> there will be no expansion of use.
I think you need to be careful of stating as fact things that are by no means
obvious or even provable. You seem to make the jump that because J has not
taken the world by storm that the language itself is broken and that it is the
fault of the tacit form. I think you need to back up such a statement with more
evidence or at least a better argument. I remember Mathew Brand made a similar
comment earlier in this thread with regards to the intro section of your paper.
I enjoyed Bob Therriault's post which did just that.
You made the comment to me earlier in the thread that "We have to remember that
everyone is not the same as you are." I wonder if perhaps in the light of the
consistent comment that keeps appearing from many different people on this
thread (something along the lines of "It is a good idea for beginners to start
with explicit J and move on to tacit J at some point later") whether you might
think it is worthwhile taking a step back and reconsider your position. Of
course that doesn't stop you, after some consideration, from deciding that you
are right after all!!
I would love to see some of your obvious enthusiasm, drive and tenaciousness
channelled into a more productive (in my opinion!) direction.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm