HDTenEightyP/NetNews huggingface dataset:
From: slix@svcs1.UUCP (Bill Miller)
Newsgroups: comp.lang.apl
Subject: Re: j/386 problems with DOS extender
Summary: 386 extender seems to work, not exactly sure.
Date: 31 Aug 92 04:43:06 GMT
Organization: Silicon Valley Computer Society, Sunnyvale, CA

In article <WEG.92Aug30161837@mace.cc.purdue.edu>, weg@mace.cc.purdue.edu (Eythan Weg) writes:
> In article <689@svcs1.UUCP> slix@svcs1.UUCP (Bill Miller) writes:
B
>    space size via 7!:0 '' is still as low as it is with the plain PC version)
> 
> After loading J try this for example:
> 
> 	7!:0 ''
> 	a=.10000$1.4
> 	7!:0 ''
> 	b=.10000$1.4
> 	7!:0 ''
> and draw your conclusions.  Then, for comparison, look for 7!:0 in xenos.doc.

OK, Eythan, I seem to understand now.  I believe it was a misunderstanding
of just what 'space now' meant.  As an APL user, I'm used to using quad-WA
for workspace available, and naturally when I hit 7!:0 '' I thought that
was the workspace available - *not* the workspace used. Oh well. :)
 
After trying your suggestion, and a bit more, it looks like the maximum
workspace available to J is somewhat between 500-600K.  Considering what
J takes up, and my available memory, it seems that the DOS extender is
working.  I haven't given it any virtual memory yet.  One thing I tried was:
  
  x =. 100000 $ 1.4
 
Assuming (I don't know) the size of a floating point number in J is 8
bytes (same as a C double-precision number) then that sentence should use
800,000 bytes, at least.  That particular sentence gave me a 'ws full' 
message.  Therefore, I should assume that workspace size has to be some-
what less than 800K on this particular setup.
 
I'll do some further experimentation.
From: andrew@rentec.com (Andrew Mullhaupt)
Newsgroups: comp.lang.apl
Subject: Re: Numerical Analysis + APL/J
Date: 31 Aug 92 01:34:11 GMT
Organization: Renaissance Technologies Corp., Setauket, NY.

In article <1992Aug27.145141.22803@fid.morgan.com> sethb@fid.morgan.com (Seth Breidbart) writes:
>The problem is "Find a group multiplication table with some other
>property".  I, the oracle, happen to know that addition mod n has that
>property; you don't.

This is not a sensible problem. How can I check if the table has a property
if I don't know what it is? But this is irrelevant. If you consider that we
are trying to show that I can check a property as fast as you can generate
the general case. If you don't generate the general case, you still end up
with a lower bound, but not a very good one.

>My claim was that it is sometimes easier to generate an object with a
>given property than to prove that a specific (general) object has that
>property. 

It might seem easier, but it doesn't have anything to do with whether you
can get lower bounds.

>A better example might be "Produce a 200-digit number that
>is the product of two 100-digit primes".  It's not that hard to find
>100-digit primes and multiply them, but if I only give you the
>200-digit number, it's very hard (we believe) to determine whether it
>is the product of two 100-digit primes.

The oracle tells you the primes and you check by multiplying them. A fine
lower bound. In fact, there might be some clever way to speed up the
multiplication of two primes, but so what. Note that it is totally believable
that however long the multiplication takes is a lower bound for checking the
given property. What is dubious is that it is a very sharp lower bound...

>None of this is meant to say that I think the original problem under
>discussion can be done in time less than matrix multiplication, only
>that lower-bound proofs are very hard to construct.

Not at all. It's useful lower bounds which are hard to construct. We get lucky
in the QR case.

Later,
Andrew Mullhaupt

Newsgroups: comp.lang.apl
From: "Message Center" <FZC@CU.NIH.GOV>
Subject:  Book Sale - APL Books and others
Reply-To: TDarcos@MCIMAIL.COM
Organization: University of Waterloo
Date: Sat, 29 Aug 1992 03:43:24 GMT

The following message is forwarded from Dick Holt, Sysop of the
BBS\APL, a Computer Bulletin Board System specializing in APL.
This message is being forwarded as a service to the APL community:

Note that if you are outside the U.S., he will probably have to
add about US $2 per book in additional postage.

---
I`m running a book auction.  What am I bid?  I've learned what I need to
learn from these books, and I want to move to a smaller house.  I hope that
others may be able to enjoy them as much as I have.

*** Minimum bid (to cover postage and handling), $US5 (each):

APL85, APL86, APL87, APL88, APL89, APL90, APL91, and APL92 Conference
Procedings (400 pages, more or less).

APL-CAM Journal 4/89, 10/91, 1/92, published by the Belgian APL-CAM
Users Society.  About 200 pages.  About 1/3 English, 1/3 French, and
1/3 Dutch (occasionally some German).   Test your language skills.

IEEE Videoconference Proceedings on Neural Networks, 1989. (not APL)

APL as a Tool of Thought: NY/SIGAPL Conference Proceedings, 1991

APL Advanced Techniques & Utilities, Bergquist, 488 pages (disk is
downloadable from the BBS\APL).

Sharp APL Reference Manual, Berry, 1979, 344 pages

A Catalog of Selected Images of Viking Orbiter Images (of the surface
of Mars), NASA, 399 pages (not APL).

Quote Quad: The Early Years, 465 pages

======================================================================
*** Minimum bid $US3.00 each: Books by Ken Iverson:

        An Introduction to APL for Scientists & Engineers, 26 pages
        Elementary Analysis, 218 pages
        APL Language Reference Manual for Self-Study, 128 pages
        APL in Exposition, 35 pages
        APL and Insight, 89 pages
        Introducing APL to Teachers, 25 pages
        Algebra, a New Treatment, 61 pages

=======================================================================

*** Other material: minimum bid $US3.00:

Session Tutorials for APL87 (141 pages) & APL89 (42 pages)
Probability in APL, Alvord, 142 pages
The 4 Cube Problem, McDonnell, 27 pages
Calculus in a New Key, Orth, 286 pages

*** Borland SPRINT Word Processor, complete, mimimum bid $US8.00

How do you bid?  Just send me a public message to

TDARCOS@MCIMAIL.COM

Or Log on here on the BBS\APL.  To Log on call +1 301 384 3672

State your book choice and your bid.
The auction lasts 30 days.  I'll keep bidders posted.
I'll sell batch lots by negotiation.  Let's haggle.

Newsgroups: comp.lang.apl
From: sam@csi.jpl.nasa.gov (Sam Sirlin)
Subject: Re: Memory usage under J 5.1 /386 (PC)
Originator: sam@kalessin
Keywords: j51pc386,memory
Organization: Jet Propulsion Laboratory, Pasadena, CA
Date: Tue, 1 Sep 1992 17:05:34 GMT


In article <695@svcs1.UUCP>, slix@svcs1.UUCP (Bill Miller) writes:
|> I did some more experimentation with j51 for 386 pc's, and I have a question
|> about J's memory usage.
|> For example, if I do:
|>    7!:3 '+/ i. 10000' for 'space to execute', it returns something ca. 200K,
         ^
you mean 2 here for "space to execute"?

|> and I think that is a bit much.  I figure since ints are 4 bytes each on a
|> 386, then that expression should take realistically no more than 80K (twice
|> what i. 10000 should take, which is 4*10,000.  Perhaps there would be some
|> extra temp space needed to compute the +/, but frankly I can't see why
|> it would take that much.
|> Comments?

Well here are some numbers from a sun sparc:
   7!:2 '10000$1' NB. boolean space
10184
   7!:2 '10000$2' NB. integer
40180
   7!:2 '10000$2.1' NB. real
80204
   7!:2 '10000$_1^0.5' NB. complex
160508
   7!:2 'i.10000'
80276
Looks like the output of i. is real!

   7!:2 '+/ 10000$1'
10476
   7!:2 '+/ 10000$2'
160496
   7!:2 '+/ 10000$2.1'
160480
   7 !:2 '+/10000$_1^0.5'
320780
Again not much distinction between integer and real. But it looks like
+/ takes about a factor of 2 in space...

   7!:2 '+/ i. 10000'
200600
   7!:2 '+/ 3*i. 10000' NB. integer
320740
   7!:2 '+/ o. i. 10000' NB. real
360704
   7!:2 '+/ (_1^0.5)*i. 10000' NB. complex
601120

So +/ i. takes about 1.25 times as long as summation over reals. But
with an operation in between seems to take just the expected factor of
2 (for the copy). 

So what about
   7!:2 '+/a=. i.10000'
200672
   7!:2 'a=. i.10000'
80364
   7!:2 '+/ a'
120392
So it's fairly clear where the space is going. 

-- 
Sam Sirlin
Jet Propulsion Laboratory         sam@kalessin.jpl.nasa.gov

Newsgroups: comp.lang.apl
From: "Paul Robinson, Contractor" <FZC@CU.NIH.GOV>
Subject:  Re:  Book Sale - Auction Details so far
Reply-To: TDarcos@MCIMAIL.COM
Organization: University of Waterloo
Date: Sun, 30 Aug 1992 04:15:59 GMT

In Reference to the APL Book List posted Earlier, the following
bids have been posted:



-- Bill Chang (wchang@cshl.org)

QuoteQuad                                  $15
APL92 proceedings                          $15
APL as Tool of Thought NY                  $10
Sharp APL manual                           $5
Probability in APL                         $7
Calculus in a New Key                      $7
APL87 Tutorials                            $5
APL89 Tutorials                            $5
APL-CAM                                    $4 each



-- Paul Robinson (TDARCOS@MCIMAIL.COM)

Sprint Word Processor                      $8



--  Phil Viton   (PViton@magnus.acs.ohio-state.edu)

APL Advanced Techniques ... (Bergquist)    $10
Probability in APL (Alvord)                $5

----
Paul Robinson
TDARCOS@MCIMAIL.COM

Newsgroups: comp.lang.apl
From: agrtqb%irmfao01.bitnet@utcs.utoronto.ca
Subject:      Questions using J version 5
X-Acknowledge-To: <AGRTQB@IRMFAO01>
Organization: Food and Agriculture Organization of the UN
Date: Mon, 31 Aug 1992 09:39:11 GMT


Using J version 5 (from APL92) we encountered some problems or bugs

a) external function save workspace

      NB. from `Programming in J` page 20

      Save=. 2!:2

      Save <'abc'


      Copy=. 2!:4
      Copy <'abc'


      NB. but the file has been created as it is shown with read
      read=. 1!:1
      y=.read <'abc'
      y

                 NB. not quite what I get on the PC see PS

b) with the Member of Interval

      NB. from `Dictionnary of J` page 34
      'co' E. 'cocoa'

      (0 1 +/ i. 3) E. 4 | +/~ i. 5


c) with the fit function

      x=. 20.5 20.6
      y=. 20.52 20.61
      x=y

      x =!.0.2 y

      x =!. 10^_2 y       NB. sorry it is 10caret_2 see PS

      x =!.(10^_2) y


d) How do you, in a explicit function, create a prompt for input, like:

Enter your name:

cursor waiting after the colon; on the same line on the PC it would be
interesting to have 1!:2 (2) writing to the screen without carriage
return nor line feed, this would allow to use the ANSI escape screen
handling.

Thanks

Alain Delmotte     Agrometeorology / FAO         or   Avenue du Marathon, 6
                   Via delle Terme di Caracalla       B1348 Louvain-la-Neuve
                   I00100 Rome ITALY                  BELGIUM
                   tel.: Italy-6-5797 5504            Belgium-10-45 11 92

PS moving file from the PC to the mainframe I get incorrect characters
   as well as when I receive files or messages from the network; this
   most of the time concerns the square brackets and caret, sometimes the
   stile. Solutions?
Newsgroups: comp.lang.apl
From: hui@yrloc.ipsa.reuter.COM (Roger Hui)
Subject: Re: Memory usage under J 5.1 /386 (PC)
Keywords: j51pc386,memory
Organization: Iverson Software Inc.
Date: Fri, 4 Sep 92 06:42:21 GMT

Sam Sirlin writes:
 
> Well here are some numbers from a sun sparc:
>    7!:2 '10000$1' NB. boolean space
> 10184
>    7!:2 '10000$2' NB. integer
> 40180
>    7!:2 '10000$2.1' NB. real
> 80204
>    7!:2 '10000$_1^0.5' NB. complex
> 160508
>    7!:2 'i.10000'
> 80276
> Looks like the output of i. is real!
 
In general, i.y is (|y)$i.*/|y with axes corresponding to negative
elements in y, reversed.  As indicated in my msg of 1992-09-03 03:57:38,
that i.10000 takes 80 KB is due to the lack of special case code in 
i. for scalar y, and not to the result taking 8 bytes per element.
(This flaw has since been corrected.)
 
3!:0 is a more direct and more reliable indication of the internal type
of an array than the space it consumes.  (For example, floating point
numbers on the Macintosh can take 8, 10, or 12 bytes per element,
depending on the compiler option.)  Thus:
 
   type=.3!:0
   type 10000$1              type 2e9
1                         4
   type ?10000$2             type 3e9
1                         8
   type 2                    type 3j9
4                         16
   type 1 2 _3               type 'Opposable Thumbs'
4                         2
   type i.10000              type ;:'Opposable Thumbs'
4                         32

------------------------------------
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: sethb@fid.morgan.com (Seth Breidbart)
Subject: Re: Numerical Analysis + APL/J
Organization: Morgan Stanley & Co., New York, NY
Date: Thu, 27 Aug 1992 14:51:41 GMT

In article <1184@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>In article <1992Aug17.165305.2364@fid.morgan.com> sethb@fid.morgan.com (Seth Breidbart) writes:
>>In article <1177@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>>> [argument that because it's hard to check an object for a
>>>property, it must be at least as hard to construct an object with that
>>>property.]

>>I can generate the "group operation matrix" for the integers mod n
>>under addition in time n^2; you can't check an arbitrary nxn matrix to
>>see if it's a group that fast.
>
>Depends on what the problem is.

The problem is "Find a group multiplication table with some other
property".  I, the oracle, happen to know that addition mod n has that
property; you don't.

My claim was that it is sometimes easier to generate an object with a
given property than to prove that a specific (general) object has that
property.  A better example might be "Produce a 200-digit number that
is the product of two 100-digit primes".  It's not that hard to find
100-digit primes and multiply them, but if I only give you the
200-digit number, it's very hard (we believe) to determine whether it
is the product of two 100-digit primes.

None of this is meant to say that I think the original problem under
discussion can be done in time less than matrix multiplication, only
that lower-bound proofs are very hard to construct.

Seth		sethb@fid.morgan.com
Newsgroups: comp.lang.apl
From: sam@csi.jpl.nasa.gov (Sam Sirlin)
Subject: Re:      Questions using J version 5
Originator: sam@kalessin
Organization: Jet Propulsion Laboratory, Pasadena, CA
Date: Mon, 31 Aug 1992 18:54:38 GMT


In article <920831.093911.ITA.AGRTQB@IRMFAO01>, agrtqb%irmfao01.bitnet@utcs.utoronto.ca writes:
|> 
|> Using J version 5 (from APL92) we encountered some problems or bugs
(on an IBM?)
Using J 5.1 on a sun sparc, I get
|> a) external function save workspace

These seemed to work for me.

|> b) with the Member of Interval
|> 
|>       NB. from `Dictionnary of J` page 34
|>       'co' E. 'cocoa'

this worked.

|>       (0 1 +/ i. 3) E. 4 | +/~ i. 5

E. with an array right argument gives a nonce error. I'd guess E.
isn't quite implemented yet (the status file says NYA).

|> 
|> c) with the fit function
|> 
|>       x=. 20.5 20.6
|>       y=. 20.52 20.61
|>       x=y
|> 
|>       x =!.0.2 y

domain error
As with normal APL systems, there seems to be a maximum you can set
the fuzz to. I'd expect this to be machine dependant. Try something
like: 
   y=. x*1+1e_12
   y
20.5 20.6
   y-x
2.05027e_11 2.06022e_11
   x=y
0 0
   x=!.1e_12 y
0 0
   x=!.1e_11 y
1 1


|> d) How do you, in a explicit function, create a prompt for input, like:

This is very machine dependant. But it might not be to hard to do if
you know what your screen driver does, using components from a. Trying
this using an Xterm, I can get the prompt on any line, but not in any
but the first column... 

|> PS moving file from the PC to the mainframe I get incorrect characters
|>    as well as when I receive files or messages from the network; this
|>    most of the time concerns the square brackets and caret, sometimes the
|>    stile. Solutions?

I think you need a translator ASCII/EBCDIC, or use xxencode at both
ends.  
-- 
Sam Sirlin 
Jet Propulsion Laboratory        sam@kalessin.jpl.nasa.gov

Newsgroups: comp.lang.apl
From: slix@svcs1.UUCP (Bill Miller)
Newsgroups: comp.lang.apl
Subject: Memory usage under J 5.1 /386 (PC)
Keywords: j51pc386,memory
Date: 1 Sep 92 06:02:35 GMT
Organization: Silicon Valley Computer Society, Sunnyvale, CA

Hi.

I did some more experimentation with j51 for 386 pc's, and I have a question
about J's memory usage.

For example, if I do:

   7!:3 '+/ i. 10000' for 'space to execute', it returns something ca. 200K,
and I think that is a bit much.  I figure since ints are 4 bytes each on a
386, then that expression should take realistically no more than 80K (twice
what i. 10000 should take, which is 4*10,000.  Perhaps there would be some
extra temp space needed to compute the +/, but frankly I can't see why
it would take that much.

Comments?

Newsgroups: comp.lang.apl
From: hal@gateway.mitre.org (Hal Feinstein)
Subject: commercial APL I can buy
Organization: Mitre Corporation, McLean, VA
Date: Fri, 4 Sep 1992 19:19:55 GMT

I'd like to put up  an apl system on my home PC running a 386 under DOS
(w/windows).  While I know this could be an FAQ, can anyone tell me what
apl systems there are for the 386. I already know about the STSC's apl product
(or whatever they're calling themselves these days) and I'd like to see
if anything comparable is available. If this is an FAQ, could someone 
please point me at an archive machine for it???    Thanks  -Hal.
From: slix@svcs1.UUCP (Bill Miller)
Newsgroups: comp.lang.apl
Subject: Re: j/386 problems with DOS extender
Summary: OK it works fine!
Date: 31 Aug 92 05:01:54 GMT
Organization: Silicon Valley Computer Society, Sunnyvale, CA


Followup to my recent posting where I'd say I'd experiment:

I did so, adding a line to use some more RAM plus swap, and the workspace
size went all the way to two megabytes.  It's looking really nice so
far.

It's going to take some time to get used to J, though. :)

Newsgroups: comp.lang.apl
From: sethb@fid.morgan.com (Seth Breidbart)
Subject: Re: Numerical Analysis + APL/J
Organization: my opinions only
Date: Tue, 1 Sep 1992 04:37:55 GMT

In article <1222@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>In article <1992Aug27.145141.22803@fid.morgan.com> sethb@fid.morgan.com (Seth Breidbart) writes:
>>The problem is "Find a group multiplication table with some other
>>property".  I, the oracle, happen to know that addition mod n has that
>>property; you don't.
>
>This is not a sensible problem. How can I check if the table has a property
>if I don't know what it is?

You know what the property is, and you know how to check for it.  You
just don't know that addition mod n has that property.  Remember, you
specified that a solution is given by an oracle.

> But this is irrelevant. If you consider that we
>are trying to show that I can check a property as fast as you can generate
>the general case. If you don't generate the general case, you still end up
>with a lower bound, but not a very good one.

I claim to have a method to generate groups faster than you can check
that something is a group.  My method might not generate all groups,
but with a bit of randomness, it can generate groups that you can't
check as fast as I can generate them.

>>My claim was that it is sometimes easier to generate an object with a
>>given property than to prove that a specific (general) object has that
>>property. 
>
>It might seem easier, but it doesn't have anything to do with whether you
>can get lower bounds.

If I can construct an object faster than you can check it, then your
checking is obviously not a lower bound on my construction.

>>A better example might be "Produce a 200-digit number that
>>is the product of two 100-digit primes".  It's not that hard to find
>>100-digit primes and multiply them, but if I only give you the
>>200-digit number, it's very hard (we believe) to determine whether it
>>is the product of two 100-digit primes.
>
>The oracle tells you the primes and you check by multiplying them.

What oracle?

> A fine
>lower bound. In fact, there might be some clever way to speed up the
>multiplication of two primes, but so what. Note that it is totally believable
>that however long the multiplication takes is a lower bound for checking the
>given property. What is dubious is that it is a very sharp lower bound...

Now you're demanding an oracle that will tell you whatever you want.
The original problem had an oracle that will tell you the answer, but
not how to get it.

>Not at all. It's useful lower bounds which are hard to construct. We get lucky
>in the QR case.

I still don't believe your "proof".  Some things are easier to
construct than they are to check, unless you have the full
construction available.

Seth		sethb@fid.morgan.com
Newsgroups: comp.lang.apl
From: rockwell@socrates.umd.edu (Raul Deluth Miller-Rockwell)
Subject: Re: Questions using J version 5
Organization: Traveller
Date: Wed, 2 Sep 1992 23:51:18 GMT

.  d) How do you, in a explicit function, create a prompt for input, like:
.
.  Enter your name:
.
.  cursor waiting after the colon; on the same line on the PC it would be
.  interesting to have 1!:2 (2) writing to the screen without carriage
.  return nor line feed, this would allow to use the ANSI escape screen
.  handling.

Well, on a unix box, the following seems to work:

   read =. 1!:1
   prompt =. 1!:2&(<'/dev/tty')
   input =. read @ 1: @: prompt

   input 'Option: '
Option: 4
4

Your mileage may vary.

-- 
Raul Deluth Miller-Rockwell                   <rockwell@socrates.umd.edu>
From: weg@mace.cc.purdue.edu (Eythan Weg)
Newsgroups: comp.lang.apl
Subject: Re: j/386 problems with DOS extender
Date: 30 Aug 92 21:18:37 GMT
Organization: Purdue University

In article <689@svcs1.UUCP> slix@svcs1.UUCP (Bill Miller) writes:
                                           ...  So, I really want to get more
   workspace, so I'm trying the 386 version.  After reading the documentation,
   I have not been able to successfully get it to work (it works, but work-
   space size via 7!:0 '' is still as low as it is with the plain PC version)
   correctly. .....

After loading J try this for example:

	7!:0 ''
	a=.10000$1.4
	7!:0 ''
	b=.10000$1.4
	7!:0 ''
and draw your conclusions.  Then, for comparison, look for 7!:0 in xenos.doc.

Eythan
Newsgroups: comp.lang.apl
From: hui@yrloc.ipsa.reuter.COM (Roger Hui)
Subject: Re: Memory usage under J 5.1 /386 (PC)
Keywords: j51pc386,memory
Organization: Iverson Software Inc.
Date: Thu, 3 Sep 92 03:57:38 GMT

Bill Miller writes:
 
> For example, if I do:
> 7!:3 '+/ i. 10000' for 'space to execute', it returns something ca. 200K,
> and I think that is a bit much.  I figure since ints are 4 bytes each on a
> 386, then that expression should take realistically no more than 80K (twice
> what i. 10000 should take, which is 4*10,000.  Perhaps there would be some
> extra temp space needed to compute the +/, but frankly I can't see why
> it would take that much.
 
I think you mean 7!:2 '+/i. 10000'.  +/ converts an internal integer 
array into an internal double-word floating-point array, sums, and 
converts the result into an internal integer array, if possible.  
APL/J provide transparent transition between internal booleans, integers, 
and floating-point numbers, and the preceding procedure for summing internal 
integers works for any integer array (+/i.10000 as well as +/3e5+i.10000).
 
The 200 KB consumed by +/i.10000 break down as follows:
  40 KB  i.10000
  40 KB  lack of special case in monad i. for scalar arguments
  80 KB  conversion of i.10000 into doubles
  40 KB  sloppiness in conversion

------------------------------------
Roger Hui, Iverson Software Inc., 33 Major Street, Toronto, Ontario  M5S 2K9
Phone: (416) 925 6096;  Fax: (416) 488 7559
Newsgroups: comp.lang.apl