It has long been known that fork with @: ,
or fork with [: , are expressively complete;
that is, you can write any tacit expression
using only those.  The point is not to get by
with a minimal set of conjunctions, but to have 
a useful set.  For example, you could write 
"sum of squares" as  *:@:[ + *:@:]  or even 
([: *: [) + ([: *: ]) , but it's more effective to 
write it as +&*: or +&:*: using the "unnecessary" 
& . or &: . Examples of other "unnecessary" 
conjunctions can be found in, for example, 
http://www.jsoftware.com/jwiki/Essays/Under
Trying to get rid & is like trying to get rid of 
- , which after all is just _1*y and x+_1*y .
A language without - is "simpler" (two less 
primitives), but I wouldn't want to use it.

As to your question, where's the need for 
conjunctions, I suggest you consider 
u"n  u^:n   u . v , among others.

You'd stated earlier that the rules for explicit
expression are simple but the rules for tacit
are complex.  In Section II E of the dictionary,
http://www.jsoftware.com/help/dictionary/dicte.htm
you see that there are 3 rules pertaining to
explicit expressions (the ones labelled monad
and dyad) and 4 rules pertaining to tacit
(adverb, conjunction, fork, bident).  As well,
explicit definition has many additional rules 
(the left argument is named x), and that is 
before the control structures are considered.
Tacit is much simpler than explicit.



----- Original Message -----
From: Don Watson <[email protected]>
Date: Tuesday, April 28, 2009 10:08
Subject: Re: [Jchat] Language S
To: Chat forum <[email protected]>

> Hi Roger.
> 
>         You state:
> 
> Do you feel that just conjunctions are unnecessary
> or both conjunctions and adverbs are unnecessary?
> 
>     I think adverbs are valuable, for example: I 
> understand that in the verb 
> phrase "+/" the "/" is an adverb and is extremely valuable. I 
> should state 
> that I haven't studied all conjunctions. There may be some that 
> are needed, 
> and there may be situations where the "@", "@:" and "[:" are 
> necessary. All 
> I know so far is that they don't seem necessary in any of the 
> expressions I 
> have seen so far.
> 
>     Don
> 
> 
> 
> ----- Original Message -----
> From: Don Watson <[email protected]>
> Date: Tuesday, April 28, 2009 3:47
> Subject: Re: [Jchat] Language S
> To: Chat forum <[email protected]>
> 
> > Hi everyone,
> >
> > I can't believe I have been as thick as I
> > have been. I was blinded by
> > the whole structure of tacit J. Two things have drastically made
> > me see the
> > light - Ric talking about converting tacit back to explicit and
> > actuallyreading the definition of tacit J. Tell me what's wrong
> > with the following:
> >
> > Here is an explicit J expression to find a standard deviation:
> > %:(+/*:y -(+/y)%#y)%<:#y
> >
> > To turn it into a revised form of tacit J, replace all the "y"s
> > with "]" and
> > enclose in parentheses: (%:(+/*:] -
> > (+/])%#])%<:#])
> > To convert back to explicit J, replace all the "]"s with "y"s
> > and take away
> > the extra parentheses: %:(+/*:y -
> > (+/y)%#y)%<:#y
> > Now make certain that the revised tacit J fits the
> > definition: "In a
> > tacit definition the arguments are not named and do not appear
> > explicitly in the definition. The arguments are referred to 
> implicitly> by the syntactic requirements of the definition."
> >
> > I think it fits. There are no named arguments
> > and it is implicitly told
> > where to put the "y"s when we go back to explicit. For a left
> > argument, the
> > "[" replaces x. Where's the need for conjunctions?
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to