Martin, you mentioned this > 0!:0 'uname -a' > ULTRIX ips 4.4 0 RISC
A 90s DEC of some sort? I've read this: "MIPS is the most elegant among the effective RISC architectures; even the competition thought so, as evidenced by the strong MIPS influence to be seen in later architectures like DEC’s Alpha and HP’s Precision." [Some Elsevier book of which they can't be bothered to share the title: http://booksite.elsevier.com/samplechapters/9780120884216/Sample_Chapters/02~Chapter_1.pdf ] Can you say what you run 24/7 on this (in Internet years) centagenarian ? BTW - I took your chronology as gospel and added it here: http://www.sigapl.org/APLChronology.php . On Thu, Mar 17, 2016 at 2:34 PM, Pascal Jasmin <[email protected]> wrote: > I will suggest that the 2 essential trains are: > > C0 A1 conj (x C0 y) A1 (your 2nd) > A0 C0 conj (x A0) C0 y > > which would make the combination of the 2: > > A0 C1 A2 conj (x A0) (C1 y) A2 > > and consistent with > A0 C1 A2 <=> (A0 C1) A2 > > > IMO, the easiest way to promote tacit modifiers would be through the [. > and ]. parameters: > > ({. [. {:) would be an adverb. > > [. A0 C1 (]. A2) is the conjunction train you wanted. > > basically [. and ]. would be exactly the same as u and v in explicit > definitions. > > I would propose the extension [.. and [... and [.... as representing > strand notation parameters: [. is first (rightmost) left parameter, [.. is > the one just left of that. [... is further left > > consider, the double adverb: > > > at =: 1 : '@:u' > - +/ at > -@:(+/) > > > > its not quite the same as (usually a common error from intent) > > > -@:+/ > > > but that can still be done with double adverb (with much clearer purpose) > as > > - + at/ > -@:+/ > > tacitly, a strand version of a conjunction could be written as > > ([.. @:[.) equivalent to (@:[.) and at above. > > > and > > > +/ ([.. @:[.) would get simplified to ([. @:(+/)) and (@:(+/)) > > > conjunctions have the advantage over double adverbs of being able to bind > either parameter, but the disadvantage is the annoying parsing feature of > not being able to take the part of its right phrase that you want to > without resorting to parentheses. > > The benefits of [. [.. ]. is in crafting more complex modifiers than the > above that interject fixed verb and modifier parameters as well as [] > modifier result parameters. > > The [.. and [... markers would allow 3 and 4 parameter modifiers that > include conjunctions with 2 or 3 left parameters. To me the train > > (c0 c1) <=> ([.. ( c0 ([. c1 ].)) <=> (c0 ([. c1 ].)) > > > so a 3 parameter conjunction, or a conjunction that returns an adverb. > I'm not completely insistent on that exact parsing order, but this allows > partial binding of > > u1 u0 ((c0 c1) v) or > > u1 v (u0 (c0 c1)) > > > With the suggested parsing order, > > ] -@+: (`@.)(2|]) <=> ]`(-@+:)@.(2|]) > > but note that having a (c0 c1) interpretation is relatively unnecessary as > long as we have [. and ]. You can simply write tacitly with little effort, > however you'd prefer the (c0 c1) to be parsed: > > (([. c0)(c1 ].)) is an adverb (outer parens needed to define phrase as > conjunction) > > c0(c1 ].) is the conjunction (c a) discussed at top > > > The [.. and [... tokens may not be needed if the outer parens concept can > be implemented. For example the fork u1 u0 FORK v might be: > > ([. ([. ].)) or more clearly explicitly 2 : '[. u v' > > but that parsing may be more (actually very) difficult than [.. > disambiguity which is simply defined as "what will be [. in returned > expression", and then ].. has an obvious potential meaning/implementation > as well. > > ([.. [. ].) becomes an unambiguous fork modifier definition > > > ----- Original Message ----- > From: Jose Mario Quintana <[email protected]> > To: Programming forum <[email protected]> > Sent: Thursday, March 17, 2016 12:53 PM > Subject: Re: [Jprogramming] Unbox request for requests > > Pascal, > > Regarding your question, the equivalence is, > > x (C0 C1 C2) y <-> (x C0 y) C1 (x C2 y) > > So x and y form just two parameters. > > As far as I can see, tacit conjunctional programming would be complete, as > tacit adverbial programming already is, by bringing back just two of > tridents from the table of the Golden Age: > > A0 C1 A2 conj (x A0) C1 (y A2) > C0 A1 conj (x C0 y) A1 > > Bringing back just the latter would almost make it complete; the only > caveat would be that the conjunctions produced would (almost always) only > take nouns if they were boxed. These tridents have been reincorporated in > Jx even if they are redundant because Jx supports directly wicked > conjunctional programming. However J Unbox does not support directly > wicked programming; thus, there is a case for bringing back those two > tridents. This would allow for both orthodox and (indirectly) wicked > complete conjunctional programming (one could write the pro-adverb conj > the counterpart the Tacit Toolkit pro-adverb adv. > > Thomas, > > That would be my request, bring back those two tridents. > > On Wed, Mar 16, 2016 at 1:12 PM, Pascal Jasmin <[email protected]> > wrote: > > > These are what I think they should be, and what I do with double adverbs, > > and what would become allowed again if (a0 a1) does not return syntax > error > > when a0 returns an adverb. > > > > one question though, > > > > C0 C1 C2 conj (x C0 y) C1 (x C2 y) > > > > does this conjunction have 4 parameters (or are 2 parameters x and y > > duplicated for C0 and C2)? > > > > "fixing the bug", and representing conjunctions as double adverbs would > > allow the 4 parameter version as (c0 c2 c1) (includes partial (c2 c1) > > (potentially named) that has c0 bound later. For the 2 parameter > version, > > there's always 2 : 'u c0 v c1 u c2 v' > > > > > > > > > > ----- Original Message ----- > > From: Jose Mario Quintana <[email protected]> > > To: Programming forum <[email protected]> > > Sent: Wednesday, March 16, 2016 12:14 PM > > Subject: Re: [Jprogramming] Unbox request for requests > > > > NB. Train Table of the Golden Era > > > > http://www.jsoftware.com/pipermail/programming/2009-December/017146.html > > 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 Wed, Mar 16, 2016 at 12:01 PM, Jose Mario Quintana < > > [email protected]> wrote: > > > > > If I recall correctly the equivalence was, > > > > > > x (c a) y <-> (x c y) a > > > > > > where (x c y) a meant, at least for the interpreter, that the product > > of > > > (x c y) was passed, as the argument, to a. Furthermore, the > interpreter > > > (mistakenly) allowed to pass adverbs and conjunctions to the adverb a > > > (again, if I recall correctly). > > > > > > On Wed, Mar 16, 2016 at 11:21 AM, Pascal Jasmin < > [email protected]> > > > wrote: > > > > > >> Could someone remind me what > > >> > > >> > > >> (a c) and (c a) used to do as trains? (in J5) > > >> > > >> was (c c) ever allowed? > > >> > > >> (sorry this is difficult to search) > > >> > > >> > > >> > > >> > > >> ----- Original Message ----- > > >> From: "[email protected]" <[email protected]> > > >> To: [email protected] > > >> Sent: Wednesday, March 16, 2016 10:12 AM > > >> Subject: Re: [Jprogramming] Unbox request for requests > > >> > > >> [For historical issues, it helps to spell out "Version" and "Release" > > >> with the numbers: > > >> > > >> J Version 1 was rather known as "APL\?" or "APL90 J" as > > >> presented in http://www.jsoftware.com/papers/J1990a.htm#intro > > >> > > >> J Version 2 - 7: = 1990-1993 > > >> > > >> J Version 7 (open source) was then followed by the polished, > > >> commercial, non-source "J Release 2". The never was something > > >> called "J Release 1". (You are free to view the preceeding > > >> versions as the "Release 1s", but it is in no way an official > > >> designation.) > > >> > > >> J Release 2 ...: = 1994 and later > > >> ] > > >> > > >> Henry Rich asked: > > >> > How far back do you have to go to find an old system that allows an > > >> > adverb as an operand to an adverb? > > >> > > >> The AA bident is still working, and the question should rather be: > > >> > > >> "How far do you have to go back to find an old system > > >> which does *not* allow the AA bi-dent?" > > >> > > >> > 7 didn't allow it, did it? > > >> > > >> J Version 7 allowed it: > > >> > > >> neitzel 422 > j7 > > >> J7 Copyright (c) 1990-1993, Iverson Software Inc. All Rights > > Reserved. > > >> > > >> 0!:0 'uname -a' > > >> ULTRIX ips 4.4 0 RISC > > >> > > >> APLscan =. /\ > > >> + APLscan 1 2 3 4 5 > > >> 1 3 6 10 15 > > >> > > >> as did > > >> > > >> neitzel 426 > j > > >> J5.1 Copyright (c) 1990-1992, Iverson Software Inc. All Rights > > >> Reserved. > > >> > > >> which is the oldest version I have still running and which supports > AA. > > >> > > >> > > >> The AA bident was first introduced with J Version 3.3: > > >> > > >> Changes in Version 3.3, 1991 06 25 > > >> [...] > > >> a-trains implemented > > >> c-trains implemented > > >> > > >> (I cannot find the AA bident yet in the blue "Tangl.Math + DoJ" > booklet > > >> which must be Version 2.9ish or even 3. It is listed in the J > Version 4 > > >> DoJ.) > > >> > > >> While I saved the CS department's decsystem from being scrapped and > > still > > >> operate it 24/7, my even earlier J Versions were binary-only (DOS), > and > > >> almost vanished along with the my office's PC-XT which mainly served > > >> as terminal hooking into our Unix systems. > > >> > > >> But I found a "floppies.tgz" from that time with J Version 2.9, > > >> fired up "dosemu", and so here is a "pre-AA J:" > > >> > > >> https://www.gaertner.de/~neitzel/img/no-aa-j29.jpg > > >> > > >> > > >> The list of possible trains was the same for J Version 5.1 - J Version > > >> 7. J Release 2 added further ones, such as A0 V1 V2. > > >> > > >> J Release 5.1 [2002] did away with the more complex bi/tridents: > > >> > > >> * All tridents (dictionary Section II F) other than the > > >> verb-verb-verb case no longer work. > > >> * All bidents (dictionary Section II F) other than the verb-verb, > > >> adverb-adverb, and conjunction with an argument cases no longer > > >> work. > > >> > > >> IIRC, the reason stated for the removals was "are in the way for > > improved > > >> debugging". Did it improve? > > >> > > >> (I am asking because I didn't bother to do anything with J Release > > 5.x/6.x > > >> myself for licensing and src reasons. I remained a happy camper with > > >> J Rel. 4, and still run it on more obscure systems such as the Sharp > > >> Zaurus.) > > >> > > >> Martin Neitzel > > >> > > >> ---------------------------------------------------------------------- > > >> 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 > -- Devon McCormick, CFA Quantitative Consultant ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
