Right.  For this reason (or similar ones, like when g is a train), I phrase
the identity as  ([: f g) ↔ f@:(g)  .

As to where this is stated: well, it's recorded informally in innumerable
documents and J learning materials.  If you're looking for formal
guarantees in canonical material (the DoJ), you'll have to arrive at the
equivalence through a chain of logic.

First, we have the the definition of capped fork in §II.F, following the
definition of non-capped fork [1]:  

        (A) "If f is a cap ([:)  the capped branch simplifies the forks to 
                i.   g   h y and
                ii.  g x h y"
        (B) "The ranks of the hook and fork are infinite."

Then, we have the definition of @: in the vocabulary [2]:

        (C) "@: is equivalent to @ except that ranks are infinite."

Which refers back to the definition of @, which is given in the Vocabulary
as [3]:

        (D) "  u@v y ↔ u v y" 
        (E) "x u@v y ↔ u x v y .  

So, after adjusting for the different names given to the verbs, we the
following correspondences: 

        (Ai)  "([: f g) y ↔ g h y"      vs  (D) "f@g y ↔ f g y"
        (Aii) "x ([: f g) y ↔ g x h y"  vs  (E) "x f@g y ↔ u f g y"

        (B) "The ranks of the hook and fork are infinite"  vs 
      (C) "@: is equivalent to @ except that ranks are infinite."

Which, as far as I can tell, establishes the identity ([: f g) ↔ f@:g
(provided we heed the advice given in latter's definition, i.e. "because a
conjunction applies to the entity immediately to its right, expressions to
the right of conjunctions commonly require parenthesization.") 

What provoked your doubt?

-Dan

[1]  §II.F, definition of trains
     http://www.jsoftware.com/help/dictionary/dictf.htm

[2]  Vocabulary entry for @:
     http://www.jsoftware.com/help/dictionary/d622.htm

[3]  Vocabulary entry for @ 
     http://www.jsoftware.com/help/dictionary/d620.htm

-----Original Message-----
From: programming-boun...@forums.jsoftware.com [mailto:programming-
boun...@forums.jsoftware.com] On Behalf Of bob therriault
Sent: Thursday, November 29, 2012 12:00 PM
To: programm...@jsoftware.com
Subject: Re: [Jprogramming] @: and capped fork

HI Ian,

If your v includes an adverb such as / the long left reach of conjunctions
could get you into trouble. That would be part of the parsing rules for
verbs vs conjunctions.

(+:@:+/) 3 4 5
42
   ([:+:+/) 3 4 5
24

Cheers, bob

On 2012-11-29, at 8:49 AM, Ian Clark wrote:

> Department of Sudden Doubts...
> 
> If u and v are verbs, do (u@:v) and ([: u v) really behave the same 
> under all circumstances?
> 
> If so, where would I go to find this fact written up?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
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