No, that's not what I am trying to say. Except for the total
representation of J in ASCII symbols, J is similar in nature to APL in J
sentences. J becomes a vastly different language only when it moves into
tacit programming. This gives J a lot of power. Sticking to ASCII also adds
all the ease of communication and makes J independent of the machines on
which it is implemented. I don't believe there is any APL system implemented
on so many operating systems. Since different schools use different
operating systems, this independence and communication is of vital
importance in teaching. J is also both free for educational use and a well
supported, thoroughly professional, reliable system. To me this suggests
that J is the base system of choice for experiential mathematics in
education.
However, one person on this forum remarked that he used both APL and J
because they had different strengths. They were designed for different
purposes. The advantages of APL include the fact that it is very easy to
learn - which is of no interest to experienced J users - and thus more
suitable for the educational applications in which I am interested. I am
therefore looking for a way to marry the strengths of APL with the strengths
of J. From what I have learned so far, this would be very easy to do and
none of the J experts like those on this forum would ever have to use it or
even know about it.
Which raises the question of why I am talking on this forum to people
who have no interest in what I am talking about. The answer is that one
cannot deal with such things in isolation. Critics are essential to the
process. Ric made the following comment: "I apologize in advance if my
comments below seem to be rather negative but I hope, like me, you prefer
negative feedback to none!" The more critical you are, the more helpful you
are. You' be surprised how much help I have already received from this
forum. All of it has encouraged rather than discouraged me and I am very
grateful.
You make one comment: "This can not be tacit because copula (=. =:) can
not appear inside a tacit form." I have two points. One is that in the
system variation that you would never see or use it should be possible to
make changes that, while consistent with the principles of J, make something
that is a rule of J not a rule in the system variation I seek. For example,
one cannot insert J sentences in tacit programming. I want to do that. In
the example I gave, I used curly brackets to do it - because there aren't
any brackets left in the system. For the usage that you would never see or
use, It would be possible to use some form of bracket to move from tacit
programming to J sentences and back, just as (+/%#) moves from a J sentence
to tacit programming and back. In which case the rule "This can not be tacit
because copula (=. =:) can not appear inside a tacit form." does not apply
and I can say:
SD =. { %:(%N) * +/ *: } ( ] - (+/ % { N =. } #))
However, I do not deny the truth of your statement: "I suggest you to
forget APL for a moment and read introductory books such as "Programming in
J" or "J premier". I think I understand the principles of J, but I am very
short on the details.
Don
----- Original Message -----
From: "bill lam" <[email protected]>
To: <[email protected]>
Sent: Sunday, March 15, 2009 12:24 AM
Subject: Re: [Jgeneral] Teaching
> On Sat, 14 Mar 2009, Don Watson wrote:
>> anyway. For example, the primitives "@" and "@." seem to be saying: "I
>> want
>> to follow one verb with another. Since I'm in tacit programming, they
>> will
>> be treated as a fork.
>
> This is incorrect. @ and @. are not fork. They are conjunctions. The
> order of execution start from right to left. For fork, the middle
> token is also a verb ( v1 v2 v3 )_and order of execution of v1
> relative to v3 is undefined.
>
>> SD =. { %:(%N) * +/ *: } ( ] - (+/ % { N =. } #))
>
> This can not be tacit because copula (=. =:) can not appear inside a
> tacit form.
>
> I think that you are confused because you assume J is just APL with
> ascii symbol and your previous APL knowledge become a barrier for you
> to understand J. I suggest you to forget APL for a moment and read
> introductory books such as "Programming in J" or "J premier". No
> offense if it sounds like rtfm.
>
> --
> regards,
> ====================================================
> GPG key 1024D/4434BAB3 2008-08-24
> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3
> 唐詩132 孟浩然 早寒江上有懷
> 木落雁南渡 北風江上寒 我家襄水曲 遙隔楚雲端
> 鄉淚客中盡 孤帆天際看 迷津欲有問 平海夕漫漫
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm