Hi Tracy,
Thanks. Much of my problem is not so much learning J as learning the
jargon that describes J. I will debate the following issues:
You said:
"When parentheses are needed to isolate an expression from something
that would otherwise be parsed as a parameter, they therefore also
delimit where an argument may be found."
I agree that this is presently the case. I am not taking away anything
from that situation. However, I am asking you to consider the two
"things" separately, so that, while regular parentheses carry out both,
something else, like a right parenthesis, can only delimit where the
argument is found.
You said:
"Your understanding of the differences between explicit and tacit
phrasing is clearly advancing. I share your wish that J were easier to
learn than it is . . ."
You are right. As I first met J, I was certain that something was
missing, but did not know what it was. I have tried several approaches
and gradually used them to close in on what is missing. At this point,
I see the problem as coming not from tacit J itself, but from the
interface between tacit and explicit J.
The inability to separate the boundary between the two from the
identification of arguments is a problem. It also does not help that
tacit J has one way of defining new verbs and explicit J has another.
I believe it is possible clarify the interface between tacit J and
explicit J in such as way that the two forms intermingle into a single
form and tacit J can be used where its strengths are needed and
explicit J where it provides a neater solution.
Maybe inside-out parentheses are the wrong choice, but some
other delimiter on the range of the search for tacit J arguments
would really help the integration.
Don
----- Original Message -----
From: "Tracy Harms" <[email protected]>
To: "Chat forum" <[email protected]>
Sent: Tuesday, May 19, 2009 10:13 AM
Subject: Re: [Jchat] Transition
On Tue, May 19, 2009 at 5:01 AM, Don Watson <[email protected]> wrote:
> ... the outer parentheses
> cause J to treat all contents between these parentheses as a train of
> forks and hooks instead of right to left J code. To compensate, we need
> "@:" and "[:" conjunctions.
>
> ([: %: +/@:*:@:(- +/ % #) % <:@#) 2 4 9 6
> 2.98608
>
> The parentheses around the whole expression do two things:
>
> 1) They define the where the argument for the tacit expression (- +/ % #)
> is to be found.
> 2) They define the content within the parentheses to be a train of forks
> and hooks.
>
Hi, Don.
What you have here called two things are actually one and the same
thing. A tacit expression is one in which no parameters are explicit.
When parentheses are needed to isolate an expression from something
that would otherwise be parsed as a parameter, they therefore also
delimit where an argument may be found.
Your understanding of the differences between explicit and tacit
phrasing is clearly advancing. I share your wish that J were easier to
learn than it is, but I don't share your confidence that what it has
to offer can be made more approachable by changing syntax. In my view,
J syntax is so simple that it can't be bent without breaking. The
opportunity I see is in finding creative ways to communicate J so that
learning it can be easier. Changes that are as deep as you're
proposing produce problems of language design, which are much harder
still.
Tracy
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm