HDTenEightyP/NetNews huggingface dataset:
From: S_JUFFA@iravcl.ira.uka.de (|S| Norbert Juffa)
Newsgroups: comp.lang.pascal
Subject: Help with wierd TP 6.0 IDE problem, please!
Date: 19 Aug 92 16:42:41 GMT
Organization: University of Karlsruhe (FRG) - Informatik Rechnerabt.
NNTP-Posting-Host: irav1.ira.uka.de
X-News-Reader: VMS NEWS 1.23

Hi netters!

I am turning to the net for advice on a really wierd problem I am encountering.
As you may know (or not), I am the author of a fast replacement for the 
Turbo Pascal 6.0 run-time library (available as TPL60N15.ZIP from
garbo.uwasa.fi for everybody who is interested). I use my library all the
time and haven't had any serious problems with it. Programs compiled with
it run just fine from DOS. However, I have now discovered that running a
program compiled with my library within the TP 6.0 IDE completely hangs
the system. The wierd thing though is that this happens only if no 386
memory manager is installed. To make myself clear: If I start up a bare
bones DOS system (just DOS, not additional device drivers and TSRs), start
TURBO PASCAL 6.0 by typing TURBO and load some Pascal program into the IDE
and then have it run, the machine will hang upon termination of the Pascal
program. The program itself doesn't matter and the machine hangs regardless  
wether the program terminates normally or due to a run-time error. As soon
as I add a memory manager (EMM386, QEMM) to my bare bones DOS system, 
everything works just fine. The memory managers do not report any kind of
protection violation. Now I am wondering how running the IDE in virtual
mode lets programs linked with my library run and how running it in real
mode lets the same programs crash. Note that the programs always crash
upon termination. If they terminate due to a run-time error, the error
message is printed out before the system hangs (only a HW reset brings it
back to live). As I have the source code to the main procedure I can 
see that the error message is printed directly before the program returns
via a call to INT 21h, function 4C00h. Does anybody know how programs are
executed by the IDE? I have tried to run the IDE in a debugger but haven't
had much luck yet. Any help is appreciated. Thanks in advance!


Norbert
-------------------------------------------------------------------------------
Norbert Juffa         email: S_JUFFA@IRAVCL.IRA.UKA.DE       Live and let live!
From: bobb@vice.ICO.TEK.COM (Robert Beauchaine)
Newsgroups: comp.lang.pascal
Subject: TV Focus in Dialog views
Date: 20 Aug 92 16:54:57 GMT
Organization: Tektronix Inc., Beaverton, Or.


  Here's the problem:

  I'm attempting to trap loss of focus events in Turbo Vision among
  views within a dialog box.  I want to validate my numerical input
  lines whenever the user moves off the focused input, either via
  the keyboard or mouse.  

  I can trap a view's loss of focus by overriding the SetState()
  method and looking for an sfFocused bit combined with a false
  Enable.  The problem with this scheme is that SetState() is
  ignorant of what event is causing the change in focus.  If I close
  the dialog box with a cmCancel, SetState() is still called, and 
  the input line attempts to validate itself even though the user
  does not care about the value.  

  Keyboard events are not a problem, since they are automatically
  routed to the focused event and can be handled by HandleEvent().
  The positional events are where I'm getting hung.  

  Suggestions?

/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ 

Bob Beauchaine bobb@vice.ICO.TEK.COM 

C: The language that combines the power of assembly language with the 
   flexibility of assembly language.

Real friends don't let friends use UNIX.
Newsgroups: comp.lang.apl
From: volker@sfb256.iam.uni-bonn.de ( Volker A. Brandt )
Subject: Re: APL2 HELP WORKSPACE
Organization: Applied Math, University of Bonn, Germany
Date: Thu, 20 Aug 1992 12:02:53 GMT

In article <19AUG92.16132706.0052@UNBVM1.CSD.UNB.CA> WRK0000 <WRK0@UNB.CA> writes:
> I can't:  So I made myself a "help" workspace.

Nice idea!  I'd like to have a copy ...

> [...] I have no idea how to ship APL over the wires.

Hmmm ... it looks like you're in Canada, so your best bet might be to ftp
it to the Waterloo ftp server.  I'm sure Lee Dickey will help you on how to
get your file there (I just hope he reads this :-).  I don't have any of his
excellent instructions files handy ...

You should create a transfer file using the )OUT command, and get this file
to the Waterloo server.

Hope this helps somewhat.

-- Volker
-- 
----------------------------------------------------------------------------
Bitnet:   UNM409@DBNRHRZ1                              Volker A. Brandt
UUCP:     ...!unido!DBNRHRZ1.bitnet!unm409             Angewandte Mathematik
Internet: volker@sfb256.iam.uni-bonn.de                (Bonn, Germany)
From: andrew@rentec.com (Andrew Mullhaupt)
Newsgroups: comp.lang.apl
Subject: Re: QUAD-NA AND ESSL
Date: 16 Aug 92 23:17:00 GMT
Organization: Renaissance Technologies Corp., Setauket, NY.

In article <16AUG92.12942926.0032@UNBVM1.CSD.UNB.CA> WRK0@UNB.CA (WRK0000) writes:
>
>> These guys have a 3090, and they should use ESSL, which is

>> had gone to the trouble to write the required interface for all of
>> ESSL routines to quad-NA.
>
>Sounds wonderful, but I pity ye if ye ever have to make that
>interface actually work unless you are an 3090 wizard.


The connection between APL2 and ESSL is not a problem from that point of view -
you essentially need a 'names' file for each routine, and IBM provides this.

It is somewhat more awful if you link your own code in to quad NA, but the ESSL
part was pretty much plug and play.

Later,
Andrew Mullhaupt
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: Mon, 17 Aug 1992 16:53:05 GMT

In article <1177@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>In article <1992Aug14.032619.16083@yrloc.ipsa.reuter.COM> hui@yrloc.ipsa.reuter.COM (Roger Hui) writes:
>
>>[Aside:  You say, "It can't".  I believe it would be quite difficult to
>>prove that QR can't be done in time O(n^2) (or O(m*n) on an (m,n) matrix).]
>
>How about an oracle argument. Suppose you guess Q and R in O(1). You
>have to then verify it by checking that R is upper triangular, 
>and then you must verify that Q is (column) orthogonal. You don't have
>to check the lower triangle of QTQ, but this leaves O(n^2) things to check.

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.

Seth		sethb@fid.morgan.com
Newsgroups: comp.lang.apl
From: mtlo@jyu.fi (Markku Tapani Lofgren)
Subject: Dots with VDI graphics
Organization: University of Jyvaskyla, Finland
Date: Thu, 20 Aug 1992 06:30:02 GMT


I'm trying to make a workspace that plots few statistical charts and 
I'm doing it with VDI graphics.
Problem is: I should produce tiny dots. I would think that the way to 
do this would be using the V_PMARK-function, but the smallest dot with
it, is much too big. I've solved the problem by using V_PLINE with line 
type dotted and drawing a line from point to itself, but it's very slow.
I've read the GSS Manual quite a few times, but with my skills the 
solution avoids me.
I would be very grateful if someone could give me a hint.
From: andrew@rentec.com (Andrew Mullhaupt)
Newsgroups: comp.lang.apl
Subject: Re: Numerical Analysis + APL/J
Date: 20 Aug 92 02:46:53 GMT
Organization: Renaissance Technologies Corp., Setauket, NY.

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:
>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. If the problem is "produce the group table
for addition mod n" then I can. You should allow the oracle to give you
a solution in the general position. So if the problem is "produce a group
table" then the idea would be to produce an arbitrary group table faster
than I can check that it's a group. This is actually a useful example, 
since you might hope that you could produce a group table from some
presentation by generators and relations faster than the associativity
can be checked, etc. But the advantage of the checking algorithm in
this case is that the checking algorithm knows the order of the group.

You might argue that public key systems, and other trapdoor functions
violate this idea, but they work because they produce structures which
are not in general position.

In our case, this amounts to you claiming that because you can produce
an orthogonal matrix in mn (say by picking the first n columns of the
mxm identity) then the oracle argument is broken. It isn't, unless the
matrix you provide is in general position. Which in this case means that
th original problem was to find the QR factorization of an upper triangular
matrix. I daresay that can be done in O(mn). Likewise, there are lots of
orthogonal matrices which can be produced in O(mn), but if you say what
property allowed you to construct them (i.e. they are rank k perturbations
of the identity) then there is an algorithm to check them just as fast.

But there is another way to put it, if you're put off by checking the
orthogonal matrix. You can have the oracle produce an orthogonal Q
and an upper triangular R. Then you check that QR = A. You can only do this
slightly faster than general matrix multiplication, so it's about the same
lower bound as before.

Now you can go all the way, and have the oracle produce an orthogonal Q,
and an upper triangular R such that QR = A in O(1). Then you are done.
You have to be careful here not to decide that O(1) = O(10^15) so that
it will take 10^15 to do the problem. But aside from this abuse of language
we're safe.

It doesn't look like I have time to sort out the proposed O(mn^2) algorithm
and my lower bounds are stuck at a little below matrix multiplication. So
I feel fine about the idea that QR is not O(mn), but I believe you might
very well do it in the same time of matrix multiplication.

But not if you do the fancy algorithm in APL/J and the matrix multiplication
in anything even halfway reasonable. Perhaps some timings can be done by
people with access to J?

Later,
Andrew Mullhaupt
Newsgroups: comp.lang.apl
From: WRK0000 <WRK0@UNB.CA>
Subject: APL2 HELP WORKSPACE
Organization: The University of New Brunswick
Date: Wed, 19 Aug 1992 18:56:15 GMT


 Can you  remember whether  cosine is  1-circle or  2-circle?
 Can you remember how to run  your system's quad function for
 writing error handlers, or even what it is called?

 I can't:  So I made myself a "help" workspace.

 A help workspace in APL is easy, easy.  Text pertaining to a
 topic is put  in a character array or a  function whose name
 is the  topic.   Type COSINE  to find out  about "2-circle".
 Having a  function demonstrate  its topic  on the  fly is  a
 nifty touch, easy to do, and helps avoid mistakes.   Easy to
 add topics:   The name of the new character matrix goes into
 the symbol table automatically.

 My workspace is about IBM mainframe APL2 in ditto.

** Something I did wrong:
 I thoughtlessly thought like a programmer,  and didn't leave
 well enough alone,  but wrote a program  -- a query parser.
 Quad-LX  invokes  this  superfluous   parser  program  which
 intercepts and processes your  query.   Though this provides
 for queries  in the APL  alphabet,  in afterthought  I doubt
 t'was worth the price in complication.   If your word be not
 there, the parser tries to match leading letters with a word
 it knows;   still not worth the  price as a  quad-NL command
 would probably get  you there without the parser  which is a
 program and so can and will go wrong.

** Something I did right:
 There are  synonyms.   Help  systems that  help only  if you
 query according to their ideas  of proper vocabulary abound.
 (Ever desperately try OFF, LOGOFF, BYE, STOP, END, QUIT, and
 DROP DEAD, to escape a system which wants  Q() ,  accepts no
 substitutes,  and whose supposed help facility only replies,
 "topic unknown", unless you specifically query "Q()", which,
 if you already know,  you need not ask?)   My  help tells of
 )OFF when queried with STOP.

 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

 Anyway,  the help workspace exists.   I'd like to send it to
 people who would give it a good  home and maybe add topics I
 left out, but I have no idea how to ship APL over the wires.
 Only a masochist retypes from  printed copy.   (Among topics
 missing from  workspace HELP  is how to  port APL,   so this
 message is itself an implied request for help.)


 William Knight / University of New Brunswick / Canada

Newsgroups: comp.lang.apl
From: WRK0000 <WRK0@UNB.CA>
Subject: QUAD-NA AND ESSL
Organization: The University of New Brunswick
Date: Sun, 16 Aug 1992 15:59:03 GMT


> These guys have a 3090, and they should use ESSL, which is
> provided by IBM.  ....  it is probably the only commercial package
> which is as good or better than LINPACK/EISPACK/LAPACK.  ESSL has
> the world's _best_ FFT's bar none.  ....  Last time I used it, IBM
> had gone to the trouble to write the required interface for all of
> ESSL routines to quad-NA.
> .... Andrew Mullhaupt

Sounds wonderful, but I pity ye if ye ever have to make that
interface actually work unless you are an 3090 wizard.

  Bill Knight

Newsgroups: comp.lang.apl
From: sam@csi.jpl.nasa.gov (Sam Sirlin)
Subject: Re: Promoting APL2
Originator: sam@kalessin
Organization: Jet Propulsion Laboratory, Pasadena, CA
Date: Thu, 13 Aug 1992 17:11:45 GMT


In article <168417F7D.JOHNSON2@vm.cc.purdue.edu>, JOHNSON@vm.cc.purdue.edu writes:
|> Several of us in the Computing Center at Purdue are interested in promoting
|> the use of APL2. It seems as though a language of APL's power and flexibility
|> should be more widely used at a large research university like Purdue.
|>  
|> We currently have IBM's APL2 Version 2 Release 1 installed on our IBM 3090.
...
|> We are interested in any help (or brickbats) you might provide on this
|> subject. Do you have any suggestions on how to encourage APL use in an
|> academic environment? How are you using APL in your teaching or research?
|> Do you know of APL workspaces that would be available in the public domain
|> or for sale that might encourage APL usage? Do you think the mainframe is an
|> appropriate platform today on which to encourage APL use?

I don't know what would end up being most popular, but for me there
are a few neccessities:

1. linear algebra - as much of eispack/linpack/lapack as you can get.
Perhaps you could link them in via some sort of quad na? I've
translated the qr and qz eigensystem paths into APL if you want them.
I have them in readable ASCII form.

2. ode solvers - the more the better. Some sort of rk45 for example.
This also needs to include random colored noise generators (for
example the OU of ACSL). A stiff method would be nice.

3. graphics - I've never been happy with what I've found, but you
should have lots of options. Obviously they should be able to generate
encapsulated postscript output for inclusion in TeX documents (does
this work on IBM's?). Contour Plots and 3D plots would be nice. They
should be simple to use.

4. random number generators - for the various processes. At least
Gaussian and Poisson.

5. integration methods - I don't really need to much here, trapezoidal
rules and Simpson seem to work. 

6. special functions - Bessel, erf, etc.

7. controls analysis - frequency response calulation etc. Well that's
what I want anyway... 

8. data translation - functions for reading/writing data from/for
other languages (fortran). This also includes text manipulation - one
of APL's strong points since (at least STSC/J) can read exactly what's
in a file.

I've written/translated (or at least heavily modified existing code
for) all of the above areas, which should give you some idea of how
much code sharing goes on in APL...

Some examples to consider: Matlab, Mathematica

-- 
Sam Sirlin
Jet Propulsion Laboratory         sam@kalessin.jpl.nasa.gov
From: andrew@rentec.com (Andrew Mullhaupt)
Newsgroups: comp.lang.apl
Subject: Re: Numerical Analysis + APL/J
Date: 16 Aug 92 04:10:31 GMT
Organization: Renaissance Technologies Corp., Setauket, NY.

In article <1992Aug14.032619.16083@yrloc.ipsa.reuter.COM> hui@yrloc.ipsa.reuter.COM (Roger Hui) writes:

>[Aside:  You say, "It can't".  I believe it would be quite difficult to
>prove that QR can't be done in time O(n^2) (or O(m*n) on an (m,n) matrix).]

How about an oracle argument. Suppose you guess Q and R in O(1). You
have to then verify it by checking that R is upper triangular, 
and then you must verify that Q is (column) orthogonal. You don't have
to check the lower triangle of QTQ, but this leaves O(n^2) things to check.

Let's call m * C(n) the cost of checking that an mxn matrix is orthogonal.
(I'm assuming that it's linear in m but this is not essential.) Then we may
consider the case of checking an mx(2n) matrix formed by the columns of two
mxn matrices. If we check the two mxn matrices first we use m * 2C(n) time
and we still have the n^2 elements to check in the upper quarter of QTQ.
Suppose m * g(n) is the time it takes to do this, then we have:

	C(2n) = 2C(n) + g(n).

Suppose that C(n) ~ kn. Then g(n) = o(n). But this means that you can check
two sets of n orthogonal m vectors for mutual orthogonality without even
considering all the vectors in either set - which is a contradication.

So it's pretty easy to prove that you can't do QR in O(mn), else you
would provide a way of checking orthogonality in O(mn+n^2). Since we're
living with m>n, O(mn+n^2) = O(mn), and this contradicts the oracle
argument.

Now the oracle lower bound will never rule out the speed of matrix
multiplication, since it is well known that you can check a matrix for
orthogonality as fast as you can compute QTQ - in fact this is twice as fast
as general matrix multiplication.

>Therefore, m T n <-> (2*m T n%2) + (2*(m%n%2)*(n%2)^e) + O(m*n) and
>m T 1 <-> O(m), and an inductive argument shows that T is O(m*n^e-1).
>[I assume e>2; if e=2, other terms dominate, and T is O(m*n*log n).]

There will be a slight :-) pause while I reverse engineer the algorithm
from this description in order to verify it...
 
>Andrew, despite the reservations you'd previously expressed in this forum,
>I'd like to suggest that it may be worthwhile for you to get a copy of J,
>if only to use as a tool of thought in verifying the workings of QR.

You publish it _as J_ in Math. Comp. first. Then I'll learn J.

>p.s. So how _do_ you compute the primes up to n in less than O(n) time?

You've been talking to Whitney again :-). Well since Elkies asked about
this in sci.math somebody might be posting it there. Otherwise I'll
have to get over to the University Library and dig out the references.
One way, but not the best, is to speed up the sieve of Eratosthenes
by eliminating redundant tests. I think this gets you O(n/log log n)
but I think you can go even faster with fancy number theory.

Later,
Andrew Mullhaupt
From: JOHNSON@vm.cc.purdue.edu
Newsgroups: comp.lang.apl
Subject: Promoting APL2
Date: 12 Aug 92 14:03:57 GMT
Organization: Purdue University

Several of us in the Computing Center at Purdue are interested in promoting
the use of APL2. It seems as though a language of APL's power and flexibility
should be more widely used at a large research university like Purdue.
 
We currently have IBM's APL2 Version 2 Release 1 installed on our IBM 3090.
The availability of personal computer emulators supporting APL, X-window
terminals, and the widespread use of postscript capable laser printers
make it possible to handle the APL2 character set in an almost routine
fashion. This would seem to remove one of the main impediments to the
increased use of APL, and provide a new window of opportunity to increase
its usage.
 
We have planned a newletter article and an APL short course for this fall.
As well, we are utilizing several items from the Waterloo archive, including
APL2Tex and the Postscript APL font.
 
We are interested in any help (or brickbats) you might provide on this
subject. Do you have any suggestions on how to encourage APL use in an
academic environment? How are you using APL in your teaching or research?
Do you know of APL workspaces that would be available in the public domain
or for sale that might encourage APL usage? Do you think the mainframe is an
appropriate platform today on which to encourage APL use?
 
 
Thanks for your help,
 
Will Johnson
 
Will Johnson                        Systems Programmer
Purdue University Computing Center  Internet: johnson@mace.cc.purdue.edu
1408 Math Building Room 236         Bitnet:   johnson@purccvm
West Lafayette, IN 47907-1408       GTE:      (317) 494-1787
From: andrew@rentec.com (Andrew Mullhaupt)
Newsgroups: comp.lang.apl
Subject: Re: Promoting APL2
Date: 20 Aug 92 14:46:05 GMT
Organization: Renaissance Technologies Corp., Setauket, NY.

In article <1992Aug16.030509.19895@csi.uottawa.ca> cbbrowne@csi.uottawa.ca (Christopher Browne) writes:
>In article <1176@kepler1.rentec.com> andrew@rentec.com (Andrew Mullhaupt) writes:
>>NO! NO! A thousand times NO!. These guys have a 3090, and they should use
>>ESSL, which is provided by IBM. Although ESSL has some trivial flaws, it
>
>I think you exaggerate a few times (maybe 995 or 996 :-)).

No. ESSL is 1000 times better than apl code for eigensystems.

>They may be using a 3090, but can you ASSUME that they have ESSL?  I
>price tag of $20,000 for ESSL, and a hidden price tag of $75,000 for

Given that they will probably need at least one full time person for APL2
support, they have to be able to spend that kind of money, or they're
done. One of the LAPACK developers quoted to me that they got LAPACK
performance to roughly half the speed of ESSL. If you end up doing large
scale scientific computing, (and what else would the 3090 be appropriate for?)
Having free LAPACK is like having half a 3090. In other words, the cost of
ESSL has to be compared with the cost of doubling the number of heads on
the 3090. ESSL by this calculation (or even a small fraction of it) is cheap.

>For instance, it might be nice to develop an environment that's not
>going to restrict you to 3090s.  Using {LIN,EIS,LA}PACK would allow
>porting to other systems just a little easier.  This may not be the
>FIRST thing they want, but using ESSL will prevent any sort of
>portability.  Life is similar for the Runge-Kutta code.

I don't agree with this. If you think of APL2 as a nonrestrictive environment
I'd like to see it on more than just 3090, RS/6000 and PS/2. If this is
a long enough list of platforms to worry about portability, don't worry - 
ESSL is available for 3090 and RS/6000. (I don't know about PS/2, but if I 
know Big Blue, it is...)

Another point. ESSL essentially contains LINPACK as a compatible subset,
so there is not much portability problem as far as ESSL is concerned. On
the other hand, APL2 is the portability albatross in this case.


Later,
Andrew Mullhaupt
Newsgroups: comp.lang.apl