[Jprogramming] Unbox request for requests

Linda A Alvord lindaalvord at verizon.net
Thu Mar 17 07:51:53 UTC 2016


Thomas mention this example quite early in this discussion

0 ((1 : '/') \)
|syntax error
|       0((1 :'/')\)
   
   (0 (1 : '/') \)
/\

(0 (f=:1 : '/') \)
/\
   0  f \
/\

Linda


-----Original Message-----
From: Programming [mailto:programming-bounces at forums.jsoftware.com] On Behalf Of Pascal Jasmin
Sent: Wednesday, March 16, 2016 1:13 PM
To: programming at jsoftware.com
Subject: Re: [Jprogramming] Unbox request for requests

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 <jose.mario.quintana at gmail.com>
To: Programming forum <programming at jsoftware.com>
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 < jose.mario.quintana at gmail.com> 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 
> <godspiral2000 at yahoo.ca>
> 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: "neitzel at gaertner.de" <neitzel at gaertner.de>
>> To: programming at jsoftware.com
>> 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



More information about the Programming mailing list