> Or it looks like I was incorrect, in terms of the thinking that went behind it.
I would like to make this clear: neither I claimed you were incorrect nor correct.. I merely pointed out that the list (specification) to which you reacted was not mine. > Even though the noun train would not handled as a trident by the > parser, it looks like Ken had that in mind as a part of the structure > of the implementation. Who's list (specification) was that? The last word on the page which Dan Bron referred, is "Main" and links to, http://www.cs.trinity.edu/About/The_Courses/cs2322/jdoc/dict/main1.htm The beginning of that page reads, " J Dictionary Roger K.W. Hui Kenneth E. Iverson Copyright 1991-2001, Jsoftware Inc. All Rights Reserved. Last updated: 2000-12-02 " >Thanks, > > -- > Raul On Thu, Oct 12, 2017 at 10:59 PM, Raul Miller <[email protected]> wrote: > Or it looks like I was incorrect, in terms of the thinking that went > behind it. > > Even though the noun train would not handled as a trident by the > parser, it looks like Ken had that in mind as a part of the structure > of the implementation. > > Thanks, > > -- > Raul > > > On Thu, Oct 12, 2017 at 10:12 PM, bill lam <[email protected]> wrote: > > 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/forum > s.htm > >> >> > >> > ------------------------------------------------------------ > ---------- > >> > For information about J forums see http://www.jsoftware.com/forum > s.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
