HDTenEightyP/NetNews huggingface dataset:
From: ljdickey@math.waterloo.edu (L.J. Dickey)
Subject: Re: standards
Organization: University of Waterloo
Date: Fri, 24 Jul 1992 02:18:08 GMT

In article <1992Jul23.230951.14433@csi.jpl.nasa.gov> sam@csi.jpl.nasa.gov (Sam Sirlin) writes:
>
>I noticed that the current draft ANSI/ISO APL standard is available
>from gatekeeper.dec.com in pub/plan/apl/aplpd4.ps. It's dated January
>1992. Comments are to be sent to apl-stds@watmath.waterloo.edu. 
>
>I just got it and so haven't read it yet, but judging from recent
>comments some of us have a few things to say to the commitee.

That draft you mentioned is one year old, and does not
include work done at most recent meeting.  The next document
(provisional draft 5) will be distributed to standards 
committee members probably in a few months, and then will
likely appear for public review sometime in the next calendar
year.

It will have certain primitives relating to nested arrays:  enclose,
disclose, each, pick, enlist (super ravel), identical (match), depth,
first, enclose and disclose with axis specification, reduction, and
prototypes (implementation defined algorithm).  Partition is explicitly
not included in this round.  It was the decision one year ago,
implicitly ratified again this year, that any additional functionality
would go into the next round, either as a revision or as an addendum.

People who have comments about the standard, such as errors in
Provisional Draft 5, or comments about things that should be included
in the next round, may indeed express themselves to members of the ISO
committee at the address listed above, but it would probably be more
productive to direct efforts toward national working groups, such as
ANSI, BSI, DIN, AFNOR, NSI, SSI, CSA, and so on.  To the best of my
knowledge, every participating nation welcomes new participants in the
standards effort.

Leroy J. Dickey
-- 
Prof. Leroy J. Dickey, Faculty of Mathematics, U of Waterloo, Canada  N2L 3G1
   Internet:      ljdickey@math.UWaterloo.ca
                  ljdickey@math.waterloo.edu
   UUCP:          ljdickey@watmath.UUCP
Newsgroups: comp.lang.apl
From: hui@yrloc.ipsa.reuter.COM (Roger Hui)
Subject: Re: J table question
Organization: Iverson Software Inc.
Date: Sat, 25 Jul 92 05:35:58 GMT

Brian Schott writes:

> I am trying to create a table which has the result 1 if x is 0
> and the lesser of 1 and y%x otherwise.  My scheme is to set this
> up as an agenda construct with the selection of the index
> determined by whether the left argument x equals 0.  So my idea is
>    gerund @. selection    where "selection" is [/ .
 
> But I am running into a problem because the result of x [/ y
> is a vector, not a table.  That surprises me since x */ y
> is a table.  Is this as it should be in J?
 
> BTW my vector arguments are all fractions  0<=x,y<=1.
 
The overall problem can be solved without agenda, viz., 1<.y%x+y*0=x ;
with agenda, x (1&<.@%~)`1:@.(0&=@[)"0 y .
 
Regarding the dyad u/ :  The result on vector arguments need not be a table.
For the familiar "scalar" functions, the dyad u/ on vector arguments does
produce a table, but for an arbitrary u may produce an array of any rank.
x u/ y is defined to be x u"(lu,_) y where lu is the left rank of u.
The effect is to (conceptually) divide x into an array of argument cells;
these cells are each applied against y in toto.  This is a generalization 
of the outer product of scalar functions in APL, for which lu=0 and the 
left argument cells are scalars.
 
Since [ has infinite ranks, [/ is the same as [ per se.
 
The following examples may be helpful in elucidating u/ :
 
   a=.i.2 3 [ b=.100+i.3 2 4
 
   a ,"0/b        a <@,"0 /b
   a ,"1/b        a <@,"1 /b
   a ,"2/b        a <@,"2 /b
 
And mental gymnastics:
 
   f =. (i. {"1/~) @ (i.@! A. i.)
   f 3

------------------------------------
Roger Hui, Iverson Software Inc., 33 Major Street, Toronto, Ontario  M5S 2K9
Phone: (416) 925 6096;  Fax: (416) 488 7559
Newsgroups: comp.lang.apl
From: vpcsc4@sfsuvax1.sfsu.edu (Emmett McLean)
Subject: More J Questions : Printing intermediate values of y.
Organization: San Francisco State University
Distribution: NA
Date: Thu, 30 Jul 1992 03:39:46 GMT

  More J questions.
 
1. In the function below is it possible to print y. for
  each value of i ? I suppose this can be done with
  1!:1&2 but how?

   lu
+---------------------------------------------------------+-++
| l =. u =. 0 0 $ ''                                      |:||
| i =. 0                                                  | ||
| n =. ''$ $ {. y.                                        | ||
|loop)                                                    | ||
| l   =. l, < (i # 0 ) , 1, f =. }. ({."1 y.) % ({. {. y.)| ||
| u   =. u, < (i # 0 ) ,{.y.                              | ||
| y.  =. (}."1 }. y.) - (}.{.y.)*"(1 0) f                 | ||
 <<< PRINT y. TO THE SCREEN HERE. >>>>
| i   =. >: i                                             | ||
| $.=. ((i<n)#loop),end                                   | ||
|end)                                                     | ||
| y.  =. ( < |: >,l ), (< >,u)                            | ||
+---------------------------------------------------------+-++
By the way, which is the convention, to print lu as shown above,
or lu as shown below.  There's no point in always printing both
versions.

<>  What is the syntax to branch to labels, say s1) s2) and s3)
    contingent upon some variable , say choice_var, which takes
    execution to s1, s2, and s3 if choice_var is 0 1 or 2. 
    Something like :

    $.=. (choice_var=i.2)#s1,s2,s3

    (This gives a syntax error.)

Thanks,
Emmett McLean
vpcsc4@sfsuvax1.edu
Newsgroups: comp.lang.apl,alt.folklore.computers
From: rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
Subject: Re: Anyone want an eight-year-old Mac?
Reply-To: rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
Organization: Snake Island Research Inc, Toronto
Date: Thu, 30 Jul 92 18:21:55 GMT

In article <1992Jul27.190854.1@hmivax.humgen.upenn.edu> anonymous@hmivax.humgen.upenn.edu (Liz Broadwell) writes:
>Having invested in a new machine, a friend of mine is looking to dispose of her
>companion of the past eight years, an Apple Macintosh.  Would any of you
>collectors-of-antiques be interested in acquiring it on a best-offer basis? 
>Software included; specifications available on request.

Wearing my SIGAPL Vice-chair hat, I recently visited the Computer school
in Kronshtadt, Russia (Home of Red Oktober, and a closed city for the
last 100 years or so), run by Boris Ya. Shpigl.

Boris is teaching computer programming to a number of students using
some fairly old-looking Russian machines, and 10 IBM PS/2 model 30(?)s.
Unfortunately, the PS/2's don't have hard drives. Not only that,
but Boris doesn't have hard currency.

In the interest of getting the Russian economy on its feet through 
education, and in spreading the virtues of APL and J, I'm trying to
get people with old IDE drives to send them (perhaps with IDE 
controller cards as well) to the school, so that can they can at
least avoid floppy disk frenzy. 

If you can help, or know someone who can, please send those
drives (And/or other gear, including complete systems), to:

Boris Ya. Shpigel
Secondary School 425
33 rv., 5, Lenin pr.
Kronshtadt, 189610
Russia

Telephone: (812) 2361761.

Kronshtadt is a suburb of St. Petersburg, aka Leningrad.

Thanks. Bob
ps: If you do so, please drop me an email note telling me what you
did, and I'll try to keep track of contributions.

Robert Bernecky      rbe@yrloc.ipsa.reuter.com  bernecky@itrchq.itrc.on.ca 
Snake Island Research Inc  (416) 368-6944   FAX: (416) 360-4694 
18 Fifth Street, Ward's Island
Toronto, Ontario M5J 2B9 
Canada
From: strgh@warwick.ac.uk (J E H Shaw)
Newsgroups: comp.lang.apl
Subject: Re: Dead horse matrix reduction
Date: 26 Jul 92 16:21:09 GMT
Organization: Computing Services, Warwick University, UK

In article <1110@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>
> ... But as time goes by, it is a smaller and smaller
>percentage of what gets done in scientific computing that fits nicely into
>APL. This is a flaw in the APL language, not in science.
>
>...
>
>Let's take an honest survey of the literature. Find me _one percent_ of
>articles in Math. Comp., Num. Math., J. Comp. Phys., (or any other similar
>selection of the scientific computing literature...) which mention APL,
>or were done in APL, or _even done in APL with most of the 'real' work done in
>FORTRAN_, and I'll be _extremely surprised_. Find me 5% of a reasonable
>survey of the literature which can be implemented effectively in APL alone
>and I'll be very surprised. I'll bet you have a much better chance of finding
>_Matlab_ than APL in the "really interesting" literature.
>
Unfortunately, the literature (even the `statistical' literature) isn't
the place to look for an honest answer; a while ago I submitted a paper
on efficient parallel generation (in APL) of quasirandom sequences
(Sobol's LP\tau sequence etc.) to the SIAM J. of Scientific & Statistical
Computing.  I think an APL or similar implementation gives valuable
insights into the structure of such sequences (and is pretty efficient),
but the paper was immediately rejected with a comment to the effect that
they aren't interested in APL.

                -- Ewart Shaw
-- 
J.E.H.Shaw,  Department of Statistics,  |  JANET:  strgh@uk.ac.warwick.cu
             University of Warwick,     |  BITNET: strgh%uk.ac.warwick.cu@UKACRL
             Coventry  CV4 7AL,  U.K.   |  PHONE:  +44 203 523069
yacc - the piece of code that understandeth all parsing
Newsgroups: comp.lang.apl
From: Paul.Robinson@f417.n109.z1.fidonet.org (Paul Robinson)
Subject: Another Idea to promote APL
Organization: University of Waterloo
Date: Mon, 27 Jul 1992 03:08:12 GMT

Reply-To: TDARCOS@MCIMAIL.COM
 
(Note:  This message is cross-posted to the APL-L list on Internet).
 
In Internet RFC1320, Ronald Rivest, the "R" in the RSA Encryption
Algorithm, has released a specification for a 128 bit "signature" 
for messages.  This signature is similar to a CRC value and 
looks interesting.  For those who want to try taking a crack at 
this, in the document, it includes a program in C to generate the 
RFC1320 signature, along with sample values to show how it works
 
Here is something interesting and possibly of use to some people.
For someone who might like to try something to show usefulness of 
APL, a copy of the specification will be uploaded as RFC1320.ZIP
on the BBS/APL at +1 301 384 3672 (a computer BBS devoted to the
APL Programming Language [and I know that remark is reduntant]).
This file is a compressed copy of the identical RFC1320.TXT text
file which is obtainable from any place which is a standard 
carrier of Internet Standards
 
If you are trying to justify a reason for your office to get 
APL, this might just be the thing, especially if your office 
plans to do EDI or other message transmissions.
From: kbanerje@grad00.math.ncsu.edu (Kaushik Banerjee)
Newsgroups: comp.lang.apl
Subject: A real good APL book
Date: 24 Jul 92 21:38:29 GMT
Organization: NCSU Mathematics Dept.


I am already familiar with APL. What I am looking for is an
APL book that quickly develops a "good" level of proficiency.

Please e-mail me with your responses. Thanx.

K. Banerjee    (kbanerje@math.ncsu.edu)


-- 
                     (  (    "Any one can stop smoking; it takes a 
  ______________________ ) )  real man to deal with lung cancer!"      
 (_______(______________%%%
 
Newsgroups: comp.lang.apl
From: rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell)
Subject: Re: J table question
Organization: Traveller
Date: Sat, 25 Jul 1992 04:36:01 GMT

Brian Schott:
   I am trying to create a table which has the result 1 if x is 0 and
   the lesser of 1 and y%x otherwise.

Note that 1 <. y % x will do what you want except for the case where
both x is zero and y is less than or equal to zero.  [At least, for
versions 4 and 5 of J.]  If this qualification matches your data, I'd
recommend using the simple expression.

-- 
Raul Deluth Miller-Rockwell                   <rockwell@socrates.umd.edu>
Newsgroups: comp.lang.apl
From: Mike Kent <70530.1226@CompuServe.COM>
Subject: Dead horse matrix reduction
Organization: University of Waterloo
Date: Wed, 22 Jul 1992 04:43:24 GMT

Enough already, please!!!  It's pretty clear that sparse matrix bandwidth
reduction is a problem which, in the informed opinion of the only person
hereabouts with any actual expertise in the area, is not a good candidate
problem for an APL solution.

OTOH, this is just math, _not_ science, and _not_ engineering (i.e.,
it's just something you need to do *in the process of modelling something
REALLY interesting*).  And there are interesting things you _can_ do
effficiently, or efficiently enough, in APL.  

See, for instance, the "Diamonds in the Sky" paper in APL 89 proceedings
-- a stellar-interior model for white dwarf stars.  Also Scott
Kimbrough's kinematics modeling (with graphics) in the APL 89 and APL 90
Software Exchange packages. 

Or if math turns you on, look at Charles Sims's computational work
connected with the enumeration of the sporadic finite simple groups (done
12-15 years ago with APLSV in a 24K workspace ... under those
constraints, he was able to build _and manipulate_ representations of the
two largest -- Fischer's Monster, and the _really_ big one).  The grinding
calculations were done in FORTRAN for speed (several months of full
weekends of 308x time), but the FORTRAN was just "hand compiled" APL.

Or if numerical techniques (of more general interest than bandwidth
reduction) intrigue you, check out Richard Neidinger's papers on 
automatic differentiation, zero-finding by arbitrary-order Newton-Raphson
techniques, expressing DEs as recurrence relations; check out the APL 89
and APL 92 proceedings [and the citations in those papers].

Anybody who's spent much time doing serious computational work with APL
knows that there are classes of problems for which APL is not well suited
-- anything which invloves a lot of data which has to be accessed an item
at a time (which sparse represenations of matrices, for instance, force
upon you).  (That's why IBM invented []NA, and IPSA invented AP (RBE, pls
fill in AP #), and STSC invented []CALL and []XP, etc.)  If you use APL
for what it's good for, and use one of these interfaces to hand off the
other 10% of the problem to some FORTRAN or C or assembler code, hopefully
from a package like LINPACK or ESSL rather tahn purpose-built, you are
using your resources intelligently:  the human isn't trying to get several
thousand lines of scalar-oriented code working (and working right), and
the machine isn't encountering interpretive and space-management overhead
while doing scalar-oriented computations.

Oh, and BTW if you want an APL compiler you might contact STSC --
they sell one which works within their mainframe product -- or
Interprocess Systems -- they have the Yorktown APL Translator (APL to
FORTRAN, vector FORTRAN if you like) which IBM Research did originally,
only now as a nicely packaged product [IS is an IBM Business Partner].
Or if your code has to run on a Cray, drop a note to Bob Bernecky and ask
about ACORN -- APL to Cray C.


Newsgroups: comp.lang.apl
From: hui@yrloc.ipsa.reuter.COM (Roger Hui)
Subject: Re: Meaning of x 6!:2 in J version 5
Organization: Iverson Software Inc.
Date: Mon, 27 Jul 92 14:48:41 GMT

Tom Affinito writes regarding the dyad 6!:2.
 
The dyad 6!:2 has ranks 0 1, and x 6!:2 y is the time required to
execute y averaged over x trials.

------------------------------------
Roger Hui, Iverson Software Inc., 33 Major Street, Toronto, Ontario  M5S 2K9
Phone: (416) 925 6096;  Fax: (416) 488 7559
Newsgroups: comp.lang.apl
From: rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell)
Subject: Re: SIGNUM of teaching numerical methods
Organization: Traveller
	<1992Jul23.045513.20017@yrloc.ipsa.reuter.COM>
	<1117@kepler1.rentec.com>
Date: Mon, 27 Jul 1992 00:07:55 GMT

Robert Bernecky:
   >a. WHEN APL code can compete in loopy-type stuff, with Fortran,
   >   many arguments against APL will vanish.

Andrew Mullhaupt:
   Yes. And what I _really_ want to know is why is this not a problem
   which has been solved ten years ago?

It was.  The compiler we use at work is about that old.

-- 
Raul Deluth Miller-Rockwell                   <rockwell@socrates.umd.edu>
Newsgroups: comp.lang.apl
From: rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
Subject: Re: Dead horse matrix reduction
Keywords: None
Reply-To: rbe@yrloc.ipsa.reuter.COM (Robert Bernecky)
Organization: Reuters Information Services (Canada) 
Distribution: Snake Island Research Inc   
Date: Thu, 30 Jul 92 05:07:36 GMT


In article <1121@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>In article <3j0mbfps@csv.warwick.ac.uk> strgh@warwick.ac.uk (J E H Shaw) writes:
>>Unfortunately, the literature (even the `statistical' literature) isn't
>>the place to look for an honest answer; a while ago I submitted a paper
>>on efficient parallel generation (in APL) of quasirandom sequences
>>(Sobol's LP\tau sequence etc.) to the SIAM J. of Scientific & Statistical
>>Computing.  I think an APL or similar implementation gives valuable
>>insights into the structure of such sequences (and is pretty efficient),
>>but the paper was immediately rejected with a comment to the effect that
>>they aren't interested in APL.
>
>But this is pretty normal from my point of view - the stat literature is not
>really interested in APL, _or any other language_. If I wrote an article on
>how you can do ANOVA in a novel way using say, Prolog, I would expect the
>same treatment. In order to care about my advance, a statistician would have
>to learn Prolog first. If I can't explain this method without Prolog, I
>will expect to be able to justify it's use by a number of very significant
>advances in the theory, or I will expect rejection. 

The advantage to using a programming language is that the algorithms are
Verifiable mechanically, whereas handwaving is the only way to verify
pseudocode, etc.

I think that the objection being raised above, however, is that
articles are being rejected because they contain APL, rather than being
rejected because they contain algorithms, Pascal, etc.

This sucks, as we say in my country.


>When it is important to put algorithms in the literature, it is usually
>important to present them in an essentially mathematical form. Take for
>example the power of two FFT, where you pick bits. Look this up in the
>literature, and you will _not_ find bitwise operators from C, FORTRAN, (and

This is true. That's why the damn algorithms are essentially incomprehensible:
Math is NOT a programming language, but APL IS math.

Robert Bernecky      rbe@yrloc.ipsa.reuter.com  bernecky@itrchq.itrc.on.ca 
Snake Island Research Inc  (416) 368-6944   FAX: (416) 360-4694 
18 Fifth Street, Ward's Island
Toronto, Ontario M5J 2B9 
Canada
Newsgroups: comp.lang.apl
From: vpcsc4@sfsuvax1.sfsu.edu (Emmett McLean)
Subject: Re: while & break statements in J (example using simplex algorithm)
Organization: San Francisco State University
Distribution: NA
Date: Fri, 31 Jul 1992 00:54:36 GMT

 I wrote the following routine including the while and
 the break I wanted, but the structure of this program 
 could be cleaned up.  Any tips on how? Or could someone
 point me in the right direction?

   smpx
+---------------------------------------------------------+-++
| a =. y.                                                 |:||
| loop)                                                   | ||
| c =. '' $ 0 > , <./ obj =. (_1}. {. a ) , 0             | ||
| $.=.(c#next),end                                        | ||
|next)                                                    | ||
| bvc =. </\ (<./ obj ) = obj                             | ||
| d   =. , }. (_1{."1 a) % factors =.,bvc#"1 a            | ||
| bvr =. 0 , </\ ( <./ (0 < d) # d) = d                   | ||
| $.=.((-. *./ bvr)#cont),infes                           | ||
| infes) a =. ($y.) $ 0                                   | ||
| $.=. end                                                | ||
| cont)                                                   | ||
| factors =. factors % pivot=.'' $ bvc# , bvr#"2 a        | ||
| factors =. ((<: % ]) pivot ) (bvr# i. $ bvr) } factors  | ||
| a =. a -  |: ($ |: a)  $ , (, bvr#"2 a ) *"(0 1) factors| ||
| $.=. loop                                               | ||
| end) y. =. a                                            | ||
+---------------------------------------------------------+-++
   a
_1 _2 _3 _5 0 0 0  0
 4  3  2  4 1 0 0 10
10  2  6  8 0 1 0 20
20  1  5  5 0 0 1 30
   smpx a
 5  2.5 0  1  1.5 0 0  15
 2  1.5 1  2  0.5 0 0   5
_2   _7 0 _4   _3 1 0 _10
10 _6.5 0 _5 _2.5 0 1   5
   

By the way what does this function do?  For the matrix a
it finds the values x0, x1, x2, x3, and z where:

 z = maximum of (x0 + 2*x1 + 3*x2 +5*x3)
 subject to the constraints : 
   4*x0 + 3*x1 + 2*x2 + 4*x4 <=10
  10*x0 + 2*x1 + 6*x3 + 8*x4 <=20
  20*x0 +  *x1 + 5*x3 + 5*x4 <=30

Newsgroups: comp.lang.apl
From: qmdbms@gsusgi2.gsu.edu (Brian Schott)
Subject: Re: J table question
Organization: Georgia State University
Date: Sat, 25 Jul 1992 13:49:39 GMT

rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell) writes:

>Brian Schott:
>   I am trying to create a table which has the result 1 if x is 0 and
>   the lesser of 1 and y%x otherwise.

>Note that 1 <. y % x will do what you want except for the case where
>both x is zero and y is less than or equal to zero.  [At least, for
>versions 4 and 5 of J.]  If this qualification matches your data, I'd
>recommend using the simple expression.

Yes, I thought of that, but the 0%0 case messes things up for me; I need
1, not 0.  

BTW,  I want to thank those of you who responded to my question.  I need to
be reminded again and again of the importance of verb RANK.  It is a little
foreign to me, but it's powerful.


-- 
Brian Schott/Decision Sciences Dept.             qmdbms@gsusgi2.gsu.edu
College of Business Administration                         404-651-4070
Georgia State University                  interests: approx. reasoning,
Atlanta, Georgia USA 30303-3083     (B=)       decision support systems
Newsgroups: comp.lang.apl
From: hui@yrloc.ipsa.reuter.COM (Roger Hui)
Subject: Re: J gerund question
Organization: Iverson Software Inc.
Date: Sun, 26 Jul 92 21:48:59 GMT


Brian Schott writes:
 
> I have an array of constants shaped 15 3 and I have 3 monadic verbs
> which I want to apply to each item of the array.  I want the result
> to be a 15 3 shaped array.  For example if the verbs were +, -, and *
> then I would expect to make a gerund of them such as + ` - ` * .
> Then if the array is a =. i. 15 3, I want the result to be
>   0  _1  1
>   3  _4  1
>   6  _7  1
>    ...
 
The method that Raul Deluth Miller-Rockwell described is one way to do this.
E.E. McDonnell suggests  (<0 2)|:(+`-`*)`:0 a .  Currently, there is no nicer 
statement of the computation.  I suppose if it is important enough a new 
instance of `: (evoke gerund) can be defined.

------------------------------------
Roger Hui, Iverson Software Inc., 33 Major Street, Toronto, Ontario  M5S 2K9
Phone: (416) 925 6096;  Fax: (416) 488 7559
From: GNR100@PSUVM.PSU.EDU
Newsgroups: comp.lang.asm370
Subject: Re: EXE to OBJ
Date: 30 Jul 92 23:28:00 GMT
Reply-To: IBM 370 Assembly Programming Discussion List <ASM370%UGA.BITNET@cmsa.Berkeley.EDU>
Distribution: inet
Organization: The Internet


    Sorry for the mispost.  I only saw one assembly language newsgroup, and
thought it most appropriate.  As for SIMTEL, I know what it is, and I cannot
access it.  But I can access archie and mirror sites, and could find the
softwareif I knew what to look for.   If you could send me some names, that
would be great.
      Thanks,
           Gordon Rogers
                 gnr100@psuvm.psu.edu
      Thanks,
           Gordon Rogers
                 gnr100@psuvm.psu.edu
      Thanks,
           Gordon Rogers
                 gnr100@psuvm.psu.edu
      Thanks,
           Gordon Rogers
                 gnr100@psuvm.psu.edu
Newsgroups: comp.lang.asm370