The "Golden Age" J and your Jx are powerful but it requires thinking in
another level, I don't think they will be resurrected or implemented in the
current J. Extensive discussion on J programming forum may cause confusion
to some members. Do you host a Jx specific or J mutant (no offense
intended) forum?

On Oct 13, 2017 6:20 AM, "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