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