Ah, it's from 
http://www.cs.trinity.edu/About/The_Courses/cs2322/jdoc/dict/dictf.htm

(Bill's link did not claim that that example was a trident, as near as
I can tell.)

That said, I stand by my assertion that J would not treat (N V N) as a trident.

Thanks,

-- 
Raul


On Thu, Oct 12, 2017 at 6:20 PM, Jose Mario Quintana
<[email protected]> wrote:
> That is not "my" list, check carefully Dan Bron's PS in the first link I
> provided or Bill's link earlier in this thread.
>
> On Thu, Oct 12, 2017 at 6:02 PM, Raul Miller <[email protected]> wrote:
>
>> Some of your list of "all possible tridents and bidents" would only be
>> possible if other parsing rules were removed or evaded (monad, dyad,
>> adverb, conjunction).
>>
>> For example, the first one you list:
>> N0 V1 N2    noun x V1 y
>>
>> This would typically be a dyad, and I cannot think of any way for it
>> to be treated as a triad (it's true, of course, that when you modify
>> the interpreter it's true that you can alter it in any way you see fit
>> - but it's difficult to think of this result as being J).
>>
>> Was that your intent, or am I missing something?
>>
>> (Or... if you really meant to be discussing not "J" but more "a topic
>> which might interest some people in the J community", shouldn't this
>> kind of discussion go on in a different forum? Perhaps chat?)
>>
>> Thanks,
>>
>> --
>> Raul
>>
>> On Thu, Oct 12, 2017 at 5:48 PM, Jose Mario Quintana
>> <[email protected]> wrote:
>> > A common goal of the Jx trains and many of the Jx primitives and foreign
>> > conjunction entities is to lift J's draconian (tacit) function-level
>> > restrictions.  Jx facilitates tacit verbs, adverbs, and conjunctions to
>> act
>> > on nouns, verbs, adverbs and, conjunctions and
>> > produce nouns, verbs, adverbs and, conjunctions.  That is, almost any
>> type
>> > entity can act on any type entity to produce any type entity.
>> >
>> > The Jx trains are either completely new or extended implementations of
>> > current or former trains.  The Jx trains conform to the general scheme of
>> > the Parse Table shown on page 2 of the Cheatsheet and the only difference
>> > vs the current J Parse Table is the Trident parsing entry.
>> >
>> > This extra entry might have a potential negative effect in Jx's
>> performance
>> > vs J; after all, that was one of the reasons given for dropping the
>> Trains
>> > of the Golden Age (for reference I am including, at the end of this
>> post, a
>> > text version which most likely matches the one in the link that Bill
>> > provided earlier).  How important is the performance penalty?  I would be
>> > surprised if it is significant; one could try to quantify it although the
>> > usual caveats would apply (e.g., repeat the experiments several times to
>> > confirm results).
>> >
>> > First, a few useful definitions follow to facilitate the discussion,
>> >
>> > o=. @:
>> > 'adv conj ver'=. _1 _2 _3 <@?: 0
>> > fix=. f. ver  NB. (a v) form
>> >
>> >
>> > a v  <->  v(a)
>> >
>> > This form is non-compliant; thus, it is intrinsic only to Jx.  One can
>> use
>> > this form, for instance, to produce easily arrays with single or multiple
>> > boxed adverb arguments and verbs (or adverbs or conjunctions) can act on
>> > the array.  For example, a single boxed adverb,
>> >
>> >    /<
>> > ┌─┐
>> > │/│
>> > └─┘
>> >
>> > and multiple boxed adverbs,
>> >
>> >    [:(/\<) (items < o fix o ":) (table < o fix o ":)]:
>> > ┌──┬───┬──────────────────────────────────────────────────────────────┐
>> > │/\│"_1│1 : (':'; '(((#~LF-.@e.])5!:5<''u'');,.y),.({.;}.)":x,y u/x')~│
>> > └──┴───┴──────────────────────────────────────────────────────────────┘
>> >
>> > This form also helps to avoid quoting adverbs.  Apart from aesthetical
>> > effects (my aesthetics anyway), it allows the verb xi, which I have
>> > mentioned before, to refer directly to an adverb (or adverbs) within a
>> > sentence.
>> >
>> >
>> > x (a a) <-> (x a) a
>> >
>> > This form corresponds to the entry
>> >
>> > A0 A1     adv (x A0) A1
>> >
>> > of the Parse Table of the Golden Age.  To my knowledge, it has not been
>> > fully implemented before.  Currently, J only works if the product of (x
>> a)
>> > is a noun or a verb (there have been discussions about producing the
>> train
>> > if the product of (x a) is an adverb.  Jx implements that and also the
>> case
>> > when the product of (x a) is a conjunction.  This is very useful when
>> > writing tacit adverbs as a train of adverbs: if ((x a) a) produces the
>> > desired product then the adverb (a a) would work because (x (a a) <-> (x
>> a)
>> > a).  For example,
>> >
>> >     'items'  ((~ver) adv) /
>> > items/
>> >     'items' (((~ver) adv) /)
>> > items/
>> >
>> >     'items'  ('x~' (adverb :)) /
>> > items/
>> >     'items' (('x~' (adverb :)) \)
>> > items\
>> >
>> > The last line produces instead a syntax error in J.
>> >
>> >
>> > a c  <->  (c)a
>> >
>> > This form is non-compliant; thus, it is also intrinsic only to Jx.  Its
>> > motivation parallels the one for the form (a v  <->  v(a)).  For
>> example, a
>> > single boxed conjunction,
>> >
>> >    <adv (`/)
>> > ┌───┐
>> > │` /│
>> > └───┘
>> >
>> > and multiple boxed conjunctions,
>> >
>> >    [:(<adv") (< o fix o ": adv bind)]:
>> > ┌─┬─────────────┐
>> > │"│2 : 'x@(y"_)'│
>> > └─┴─────────────┘
>> >
>> >
>> > The Jx extensions of the corresponding Golden age entries,
>> >
>> > x (c a) y  <->  x c y a          :  C0 A1    conj (x C0 y) A1
>> > x (a c a) y  <->  (x a) c (y a)  :  A0 C1 A2 conj (x A0) C1 (y A2)
>> >
>> > deserve, in my opinion, a separate thread.  I will try to start one
>> during
>> > the weekend (time permitting).  Succinctly, the two trains (the first
>> one,
>> > in particular) are powerful enough that if they were restored in
>> official J
>> > interpreters then conjunctional tacit programming would be virtually
>> > complete as opposed to impossible.
>> >
>> > I hope it helps,
>> >
>> > PS. I wish I had more time to read and respond to posts more frequently;
>> > however, most of the time, I eventually respond if I feel I can still
>> > contribute.  Thank you for your patience.
>> >
>> >
>> > Train Table of the Golden Age
>> >
>> > (see,
>> > http://www.jsoftware.com/pipermail/programming/2009-December/017146.html
>> > and http://www.jsoftware.com/pipermail/programming/2009-
>> December/017145.html
>> > )
>> >
>> > The following tables define all possible tridents and bidents, using
>> > italics to denote the optional left arguments of (ambivalent) verbs:
>> >
>> > N0 V1 N2    noun x V1 y
>> > V0 V1 V2    verb (x V0 y) V1 (x V2 y)
>> > V0 V1 C2    conj V0 V1 (x C2 y)
>> > A0 V1 V2    adv (x A0) V1 V2
>> > C0 V1 V2    conj (x C0 y) V1 V2
>> > C0 V1 C2    conj (x C0 y) V1 (x C2 y)
>> > A0 A1 V2    conj (x A0) (y A1) V2
>> > A0 A1 A2    adv ((x A0) A1) A2
>> > C0 A1 A2    conj ((x C0 y) A1) A2
>> > N0 C1 N2    verb x (N0 C1 N2) y
>> > N0 C1 V2    verb x (N0 C1 V2) y
>> > N0 C1 A2    adv N0 C1 (x A2)
>> > N0 C1 C2    conj N0 C1 (x C2 y)
>> > V0 C1 N2    verb x (V0 C1 N2) y
>> > V0 C1 V2    verb x (V0 C1 V2) y
>> > V0 C1 A2    adv V0 C1 (x A2)
>> > V0 C1 C2    conj V0 C1 (x C2 y)
>> > A0 C1 N2    adv (x A0) C1 N2
>> > A0 C1 V2    adv (x A0) C1 V2
>> > A0 C1 A2    conj (x A0) C1 (y A2)
>> > A0 C1 C2    conj (x A0) C1 (x C2 y)
>> > C0 C1 N2    conj (x C0 y) C1 N2
>> > C0 C1 V2    conj (x C0 y) C1 V2
>> > C0 C1 A2    conj (x C0 y) C1 (y A2)
>> > C0 C1 C2    conj (x C0 y) C1 (x C2 y)
>> > N0 A1     verb x (N0 A1) y
>> > N0 C1     adv N0 C1 x
>> > V0 N1     noun V0 y
>> > V0 V1     verb x (or y) V0 V1 y
>> > V0 A1     verb x (V0 A1) y
>> > V0 C1     adv V0 C1 x
>> > A0 V1     adv (x A0) V1
>> > A0 A1     adv (x A0) A1
>> > A0 C1     adv (x A0) C1 x
>> > C0 N1     adv x C0 N1
>> > C0 V1     adv x C0 V1
>> > C0 A1     conj (x C0 y) A1
>> >
>> >
>> > On Thu, Oct 12, 2017 at 3:51 AM, Erling Hellenäs <
>> [email protected]>
>> > wrote:
>> >
>> >> Hi all !
>> >>
>> >> I have a hard time finding the new rules among these old rules.
>> >>
>> >> While in the Jx description x and y denotes verbs, in Ken Iversons
>> >> description they denote nouns?
>> >>
>> >> Take the bident a0 v1. According to Ken Iverson it should be parsed as
>> (x
>> >> a0) v1, while in Jx, using the same notation, it is parsed as (v1 a0) y
>> ?
>> >>
>> >> Does Jx represent a new way of thinking about how these trains should
>> be
>> >> parsed, which Ken Iverson did not have?
>> >>
>> >> Cheers,
>> >>
>> >> Erling Hellenäs
>> >>
>> >>
>> >>
>> >> Den 2017-10-12 kl. 04:09, skrev bill lam:
>> >>
>> >>> As mentioned earlier, ancient J had a more complete set of
>> >>> rules for tridents and bidents. This is what availbale in
>> >>> J circa 1994 (23 years ago)
>> >>>
>> >>> https://i.imgur.com/OtBZZq1.jpg
>> >>>
>> >>> In the good old days, adverbs and conjunctions can be
>> >>> written without explicit definitions, albeit only very
>> >>> few can manage to do that.
>> >>>
>> >>> Ср, 11 окт 2017, Erling Hellenäs написал(а):
>> >>>
>> >>>> Hi all!
>> >>>>
>> >>>> I finally managed to understand Cloak. I then with interest studied
>> these
>> >>>> new syntax rules:
>> >>>>
>> >>>> av  ↔ v(a)
>> >>>> x(a a)  ↔  (x a) a
>> >>>> ac  ↔  (c)a
>> >>>> x(c a) y  ↔  x c y a
>> >>>> x(a c a) y  ↔  (x a) c (y a)
>> >>>>
>> >>>> It all seemed logical and nice. I just wonder about the thoughts
>> behind.
>> >>>> What is the logic behind these rules?
>> >>>>
>> >>>> I also wonder if there are any negative effects of having these rules.
>> >>>>
>> >>>> Cheers,
>> >>>>
>> >>>> Erling Hellenäs
>> >>>>
>> >>>>
>> >>>>
>> >>>> On 2017-09-30 23:27, Jose Mario Quintana wrote:
>> >>>>
>> >>>>> Jx 1.1 Release
>> >>>>>
>> >>>>> A Jx v1.1 Extensions Guide, a J/Jx Cheatsheet, a Jx Assertions script
>> >>>>> together with links to a Windows 64 bit dll, a Unix 64 bit so
>> binaries
>> >>>>> (without avx support) and the patch corresponding to the J806 source
>> >>>>> (beta-6) can be found at the link [0].
>> >>>>>
>> >>>>> Summary
>> >>>>>
>> >>>>> - Primitives
>> >>>>>       Added     =.. =:: $:: [. ]. ]: ".. `. &:.(*) ?:(*) i.. O.
>> >>>>>       Extended  ~ $.
>> >>>>>       Modified  " (*)
>> >>>>>
>> >>>>> - Foreign
>> >>>>>       Added     104!:5 Unnamed Execution  102!:0/1 In-place
>> >>>>> Amend/Append (*)
>> >>>>>
>> >>>>> - Trains
>> >>>>>       a v    Added
>> >>>>>       a a    Extended
>> >>>>>       c a    Resurrected and extended (*)
>> >>>>>       a c a  Resurrected and extended (*)
>> >>>>>
>> >>>>> - Spelling
>> >>>>>       Names with Unicode characters
>> >>>>>
>> >>>>> (*) New Jx 1.1 feature
>> >>>>>
>> >>>>> This release introduces a modified primitive (") and, in theory, for
>> the
>> >>>>> first time an incompatibility vs the official J counterpart (J806
>> >>>>> beta-6) ;
>> >>>>> however, in practice, it is highly unlikely to break any existent
>> code
>> >>>>> and
>> >>>>> doubters have an opportunity to test their code.
>> >>>>>
>> >>>>> This is a simple 1-decade-old example [1],
>> >>>>>
>> >>>>>      ]`|."1 i.5 6
>> >>>>>    0  1  2  3  4  5
>> >>>>> 11 10  9  8  7  6
>> >>>>> 12 13 14 15 16 17
>> >>>>> 23 22 21 20 19 18
>> >>>>> 24 25 26 27 28 29
>> >>>>>
>> >>>>> See also the threads [2, 3] for recent discussions.
>> >>>>>
>> >>>>> The rank of the verb ?: has been changed to 0 0 0 to make it easier
>> to
>> >>>>> use.
>> >>>>>
>> >>>>> Three venerable facilities are released:
>> >>>>>
>> >>>>> - The conjunction (&:.), for the motivation, see the post [4] (see
>> also
>> >>>>> the
>> >>>>> post [5] both, its reference and the embedded discussion for similar
>> >>>>> more
>> >>>>> recent ideas).
>> >>>>>
>> >>>>> - 102!:0/1 In-place Amend/Append, be very careful (see [6]); if you
>> do
>> >>>>> not
>> >>>>> know what to expect, play with their corresponding models instead.
>> >>>>>
>> >>>>> PS.  There are a couple of other goodies which will be documented
>> later.
>> >>>>>
>> >>>>>
>> >>>>> References
>> >>>>>
>> >>>>> [0] Jx 1.1 Release
>> >>>>>       http://www.2bestsystems.com/foundation/j/jx1.1
>> >>>>>
>> >>>>> [1] [Jprogramming] zig-zag order  Oleg Kobchenko
>> >>>>>       http://www.jsoftware.com/pipermail/programming/2006-November
>> >>>>> /004188.htm
>> >>>>>
>> >>>>> [2] [Jprogramming] How m"n shoulda been defined  Henry Rich
>> >>>>>       http://www.jsoftware.com/pipermail/programming/2015-August/0
>> >>>>> 42512.html
>> >>>>>
>> >>>>> [3] [Jprogramming] Jx version 1.0 release  Henry Rich
>> >>>>>       http://www.jsoftware.com/pipermail/programming/2017-August/0
>> >>>>> 48124.html
>> >>>>>
>> >>>>> [4] [Jforum] Wasted intermediate values  Jose Mario Quintana
>> >>>>>       http://www.jsoftware.com/pipermail/general/2003-March/
>> 014488.html
>> >>>>>
>> >>>>> [5] [Jprogramming] Fold/reduce with initial value?  R.E. Boss
>> >>>>>       http://www.jsoftware.com/pipermail/programming/2015-February
>> >>>>> /041015.html
>> >>>>>
>> >>>>> [6] [Jprogramming] Tacit J and indexed replacement  Jose Mario
>> Quintana
>> >>>>>       http://www.jsoftware.com/pipermail/programming/2014-July/038
>> >>>>> 515.html
>> >>>>> ------------------------------------------------------------
>> ----------
>> >>>>> 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
>> >>
>> > ----------------------------------------------------------------------
>> > 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to