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

Reply via email to