Sure. The link https://i.imgur.com/ZND0XNd.jpg
Please note that some of rules for bident and trident are specific to the ancient J. Current J only supports verb trains (fork and hook) and NVV as a fork, please see current version J dictionary. On Oct 13, 2017 9:50 PM, "Linda Alvord" <[email protected]> wrote: > Bill, Could you make a copy of just page 80? When I printed it it is > impossible to read the final column in the curve of the page. > > Thanks, Linda > > -----Original Message----- > From: Programming [mailto:[email protected]] On > Behalf Of bill lam > Sent: Thursday, October 12, 2017 10:12 PM > To: Programming forum <[email protected]> > Subject: Re: [Jprogramming] Jx 1.1 Release > > Raul is correct, as usual. The train N V N was not handled in the rule for > trident. Here is the previous pages for execution stack and trains. Monad > and dyad were checked in the first 3 rules. Rules for trident and bident > were near the bottom. > https://i.imgur.com/2a3mBFS.jpg > > > On Oct 13, 2017 8:28 AM, "Raul Miller" <[email protected]> wrote: > > > 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 > ---------------------------------------------------------------------- > 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
