HDTenEightyP/NetNews huggingface dataset:
From: Benoit.St-jean@f159.n167.z1.fidonet.org (Benoit St-jean)
Newsgroups: comp.lang.modula2
Subject: MODULA 2 PROGRAM USING BL
Date: 9 Nov 92 12:52:11 GMT
Article-I.D.: puddle.18947.2B0460F4
Organization: FidoNet node 1:167/159 - XON/XOFF Informatio, Montreal QC

ASB>From: angelo@i40s14.ira.uka.de (Angelo Schneider Betr.Prechelt)
ASB>Date: 2 Nov 1992 16:14:56 GMT
ASB>Organization: University of Karlsruhe, FRG
ASB>Message-ID: <1d3k60INNcs8@iraul1.ira.uka.de>
ASB>Newsgroups: comp.lang.modula2
ASB>I'm looking for a Modula 2 program which does realy large calculations
ASB>on matices and vectors. (The Matrix should have a few thousand rows!)

ASB>The application of the program does not matter, but I'm looking for
ASB>something from weather forcasting or airodynamics to solving of linear
ASB>equations or differential equations.
ASB>--- QM v1.30/b
ASB> * Origin: Bink of an Aye - Portland, OR US - Randy Bush (1:105/42.0)

I do not have any suggestion related to particular software but I
know some really good code!  First, take a look at a book called
"Numerical Recipes".  This book contains every single math function,
algorithm, solution you need and it comes with source code (on disk)
& also has very detailed explanations.  The code is in Pascal.
VERY,VERY,VERY complete! Also contains many, many, many integration
and differential algorithms and methods.

For your matrix problem, you can also take a look at a book
titled "Data Structures and Algorithms with Modula-2" written by
Gabrini&Kurtz.  Very complete and comes with code and librairies
on disk.  Oh, BTW, in this book you can find(and also on the
disk!) and algorithm to perform calculations on 10000 * 10000
matrix, on sparse matrix, etc.. Since your application looks
very math-intensive, these are the best 2 things on Earth for
you!  Unless you do not want to code the application!

If you need more informations about these books, inform me through mail.
I'll have it fast! (I'm at home and can not access the University
database for the week-end... that's why!).


 * SLMR 2.1a * Recursive, adj.; see Recursive

--  
uucp: uunet!m2xenix!puddle!167!159!Benoit.St-jean
Internet: Benoit.St-jean@f159.n167.z1.fidonet.org
Newsgroups: comp.lang.modula2
From: larry@tsd.arlut.utexas.edu (Larry Maturo)
Subject: Re: mail delivery error
Organization: Applied Research Labs, The University of Texas at Austin
Date: Wed, 11 Nov 1992 13:49:40 GMT

In article <1992Nov11.102409.12183@jyu.fi> sakkinen@jyu.fi (Markku Sakkinen) writes:
>In article <5897@balrog.ctron.com> smith@ctron.com writes:
>>In article <9211091022.A01745@MAIL.CASI.NASA.GOV>, thutt@MAIL.CASI.NASA.GOV (thutt) writes:
>>> ...
>>I wouldn't classify enumerations as "superfluous", their removal is a real
>>loss.  But I think the real reason they went was because they are so difficult
>>to type-extend.  Type-extension is Oberon's "thing", and it would be most
>>difficult to set up a mechanism wereby various enumerations were derived from
>>previously-defined enumerations, where certain identifiers are valid for all,
>>but not all identifiers are.
>
>That has obviously been the main reason for eliminating enumerations.
>And even this rationale is very weak.  Only record types can be extended
>in Oberon, not atomic types nor arrays.
>
Enumerations are often used as the discriminent in variant records.  In Oberon
you declare different records that are extensions of a common record.  You also
delcare a different pointer type to each one and the type name of the pointer
takes the place of the enumeration so you get the effect of enumerations, but
it's extendable over module boundries.  Pretty neat!

+-----------------------------------+----------------------------------------+
|                                   |                                        |
| Larry Maturo                      | Opinions expressed herein must be      |
| Tactical Simulation Division      | yours, neither I nor my employer have  |
| Applied Research Laboratories     | any.                                   |
| University of Texas at Austin     |                                        |
| P.O. Box 8029                     +----------------------------------------+
| Austin, Texas 78713-8029          |                                        |
|                                   | When you're as great as I am it's hard |
| larry@titan.tsd.arlut.utexas.edu  | to be modest, but I succeed where      |
|                                   | others fail.                           |
+-----------------------------------+----------------------------------------+
Newsgroups: comp.lang.modula2
From: thutt@MAIL.CASI.NASA.GOV (thutt)
Newsgroups: comp.lang.modula2
Subject: Oberon-2 pretty printer
Date: 13 Nov 92 19:07:23 GMT
Reply-To: Modula2 List <INFO-M2%UCF1VM.BITNET@uga.cc.uga.edu>
Distribution: world
Organization: The Internet


     I have an Oberon-2 pretty printer which outputs a PostScript.  It uses
     a terciary file to parse the language into a set of PostScript
     operators (created by the prolog), so it would be fairly trivial to
     modify the parser output section to output other printer commands.  It
     was ported to MSDOS from Unix, and for MSDOS requires 4DOS.

     (Requires 4DOS for the extended batch commands).

     Source is available, but I do not presently have an easy way to send
     it to you.

     If you are interested, let me know, and we'll work out some way to get
     it to you.

     Taylor Hutt
     thutt@mail.casi.nasa.gov
     Championing worldwide usage of Oberon-2
From: bmr@insect.cis.ufl.edu (Benedict Rafanello)
Newsgroups: comp.lang.modula2
Subject: Re: executing from within a modula-program
Date: 12 Nov 92 22:29:29 GMT
Organization: Univ. of Florida CIS Dept.

In article <16490.2AFB1912@puddle.fidonet.org>, Hubert.Mock@p1.f67.n246.z2.fidonet.org (Hubert Mock) writes:
|> Hi Ronald,
|>  > I use Topspeed modula 3.1 and had a problem in my last program. Does
|>  > anyone know how Ii can execute another program from a modula program so
|>  > that this modula program is removed from memory (the program is stopped
|>  > and so may be removed from memory). This program is a menusystem that
|>  > executes other programs. If i choose a program the program must execute
|>  > it and remove the modula program. Thus the problem is how i can do this
|>  > !! Please answer if you know it. Very much obliged...
|> 
|> The easiest solution would be if you leave your menusystem-program with setting different errorlevels. In a batchfile you can start other programs depending on the errorlevel.
|> 
|> I hope this will solve your problem.
|> 
|> Servus,
|>           Hubert
|> 
|> 
|> --  
|> uucp: uunet!m2xenix!puddle!2!246!67.1!Hubert.Mock
|> Internet: Hubert.Mock@p1.f67.n246.z2.fidonet.org

An interesting variation on this technique which is more flexible is the 
following:

1)  Have your menu system called from a batch file, lets say Menu.bat
2)  The last instruction in this bat file is another bat file,
    say Choice.bat.
3)  When your user makes a selection, your menu program creates
    Choice.bat.  The last line in Choice.bat will be Menu.bat.
4)  Your program terminates.

What happens here is that DOS does not check for the existence of
Choice.bat until it actually tries to call it.  So your menu program
is free to create (or modify) Choice.bat as it needs.  When it exits,
DOS calls Choice.bat and does whatever your program put in Choice.bat.

Hope this helps.

Ben
Newsgroups: comp.lang.modula2
From: tchannon@black.demon.co.uk (Tim Channon)
ReplyTo: tchannon@black.demon.co.uk
Subject: Re: executing from within a modula-program
Distribution: world
X-Mailer: cppnews $Revision: 1.19 $
Organization: null
Date: Sun, 8 Nov 1992 03:27:04 +0000

>  > I use Topspeed modula 3.1 and had a problem in my last program. Does
>  > anyone know how Ii can execute another program from a modula program so

You want EXEC33 (or a later version).

This is a public domain utility library written by Thomas Wagner which could 
be compiled under TopSpeed C or Pascal and linked with you Modula2 program.
You may also need masm.

Docs in English/German as are the program messages! (compile for whichever you 
want).

It is reputed to be very good, handles all sorts of swapping disk, xms, etc. 
etc. and will even pass the environment. 

I have looked at but not used this program (expect where other people are 
using it and I use their software). It may take a little porting to TopSpeed.

  TC. 
    E-mail: tchannon@black.demon.co.uk or tchannon@cix.compulink.co.uk
                                
Newsgroups: comp.lang.modula2
From: MOD21325@ipc1.rrzn.uni-hannover.de (Carsten Kemper, Modula)
Subject: Re: multiple implementations
Summary: MODULA-2
Keywords: MOD
Reply-To: MOD21325@ipc1.rrzn.uni-hannover.de
Organization: RVS, Universitaet Hannover, Germany
Date: Fri, 13 Nov 1992 17:04:11 GMT

I am searching for a Modula-2 Compiler/linker/editor for the Amiga!!!
Put it in here....

bye....
From: Rick_Sutcliffe@FAITH.TWU.CA ("", Rick Sutcliffe)
Newsgroups: comp.lang.modula2
Subject: Non-Proportional font
Date: 9 Nov 92 21:07:24 GMT
Reply-To: Modula2 List <INFO-M2%UCF1VM.BITNET@uga.cc.uga.edu>
Organization: Trinity Western University


           Non-Proportional font
Netters,
   In writing text materials for computing science, I like to present
programs in a non-proportional font.  Courier looks terrible, however, and I
have not seen anthing that looks much better.  (I like Bookman for the main
text, BTW.) The font should have a good distinguished bold and be very
legible.  It must be available for the Macintosh.  What are your
recommendations?  Please let me know whether your suggestion is:
(1) in Type 1 or TrueType
(2) general characteristics (serif, sans-serif, narrow or ??)
(3) commercial, freeware, or shareware (how much where applicable)
(4) where available
   If I get more than two or three replies, I will summarize back to the net
as well as to all those who write.

Rick Sutcliffe   rsutc@twu.ca   Trinity Western University
From: mgmam@uxa.ecn.bgu.edu (Mark A. Morrell)
Newsgroups: comp.lang.modula2
Subject: Linking JPI M2 to MicroSoft C .OBJ
Date: 11 Nov 92 01:45:20 GMT
Organization: Educational Computing Network


I'm trying to link JPI Modula-2 to an object file which was written with
Microsoft C.  I don't have the source to the object file, or anything
useful except the names of the procedures included.  I've tried wading
throught the JPI documentation to try to find which pragmas I need in
order to make the link work, but I haven't quite been able to do it.  I
was hoping someone out on the nets would be able to help me out.

More specifics:  I'm using JPI Modula-2 v.3.02.  I have no idea what
version of Microsoft C the object file was written in.  I'm using the
Compact memory model, and the object file is supposedly using the same
thing.  The object file is provided by Novell, and is normally linked to
the Netware C Interface, but I, being a die hard M2 fan, wrote my own
API using the assembly level interface, and I need now to link to this
object file because Novell refuses to release the actual algorithms.

Thanks for your help...
-- 
--------------------------------------------------------------------
Mark A. Morrell     Disclaimer:  _I_ probably don't even believe it.
Literary Reference:  The introduction to Cervantes' Don Quixote.
From: paspro@.ic.ac.uk (Mr P.N. Asproulis)
Newsgroups: comp.lang.fortran
Subject: Test
Date: 13 Nov 92 15:18:39 GMT
Article-I.D.: cc.1992Nov13.151839.1043
Organization: Imperial College


 Test
Newsgroups: comp.lang.fortran
From: rvenable@helix.nih.gov (Richard M. Venable)
Subject: Re: Dimensioning arrays passed in a parameter list.
Organization: National Institutes of Health, Bethesda
Date: Sun, 8 Nov 1992 02:16:07 GMT

In article <1992Nov7.160034.6836@netcom.com> jchauvin@netcom.com (John H. Chauvin) writes:
>
>I am currently porting a FORTRAN 66 program from an IBM 3090 to a Silicon 
>Graphics workstation. Can someone tell me the correct FORTRAN 77 procedure 
>for dimensioning arrays passed in a call parameter list: For example:
>
>.                DIMENSION A(50),B(50)
>                                     .
>                                     .
>                                     .
>                                     .
>                CALL XYZ(A,B)
>                                     .
>                                     .
>
>                 SUBROUTINE XYZ(A,B)
>                 DIMENSION A(1),B(1)            <====== Is this correct?
>                 DIMENSION A(*),B(*)             <====== Or Is this right?
>                                     .
>                                     .
>
>
>How do I handle passing two or three dimensional arrays? (A(1,1,1)  or A(*,*,*)?)

Most implementations I've seen support using the '*', but only for the last
dimension.  Another way to deal with that problem is to pass the dimensions
of array arguments as additional arguments:

	CALL XYZ(N,A,B)
		:
		:
	SUBROUTINE XYZ(N,A,B)
	DIMENSION A(N,*), B(N)

Note that only arrays passed as arguments may be dimensioned in this way, and
not other arrays in the subroutine.


<---------------------------------------------------------------------->
<  Rick Venable                (O O) |  "Back off, I'm a scientist."   >
<  FDA/CBER Biophysics Lab      )|(  |        -- Bill Murray in        >
<  rvenable@helix.nih.gov       (=)  |           'Ghostbusters'        >
<---------------------------------------------------------------------->

Newsgroups: comp.lang.fortran
From: iversen@dsfys1.fi.uib.no (Per Steinar Iversen)
Subject: Re: ebugger for fortran 
Keywords: Debugger
Reply-To: iversen@vsfys1.fi.uib.no
Organization: Department of Physics, University of Bergen, Norway
Date: Sat, 7 Nov 92 09:58:19 GMT


In article <1992Nov6.174546.401@ugle.unit.no>, hholm@Mari.Unit.NO (H}vard Holm) writes:

>Hi
>  I have some DEC5120 running Ultrix4.2. 
>  I'm in need of a debugger which is easy to use. Unexperienced
>students is going to use it. Does anyone have anyone have such 
>a debugger, or know where I can get it ?
>
>Thanks for any help
>
>Haavard Holm

Why not the DECset V11 debugger, dsdbx? It is a rather nice interface on top
of dbx. Here is part of the man-page:

                                                                     dsdbx(1)

   Name
     dsdbx - Source level debugger with DECwindows Motif user interface

   Syntax
     dsdbx [-I directory] [-c file] [-i] [-r] [-pixie] [program [core]]

   Description
     The dsdbx command starts the DECset dbx debugger. After you start the
     debugger, you interact with its DECwindows interface by choosing items
     from menus, clicking on push buttons, and so on to perform various
     tasks. For example:

     . Display your program's source code, identifying where execution is
       currently paused

     . Browse through the source code to locate points of interest where you
       might test for certain conditions

     . Set breakpoint     

     . Execute your program, including stepping one source line at a time and
       restarting from the beginning of the program

     . Display the current value of a program variable

     . Monitor changes in variables during program execution

     . Change the value of a variable and, in some cases, test the modifica-
       tion without having to edit the source code and recompiles to suspend program execution at such points



-psi

+------------------------------------------------------------------------------+
! Per Steinar Iversen    ! Internet:     iversen@vsfys1.fi.uib.no              !
! Fysisk Institutt       ! BITnet:       iversen@cernvm.bitnet                 !
! Universitetet i Bergen ! HEPnet:       VSFYS::IVERSEN (VSFYS=21.341=21845)   !
! Allegaten 55           ! Phone:       +47 5212770                            !
! N-5007 Bergen          ! Fax:         +47 5318334                            !
! NORWAY                 !                                                     !
+------------------------------------------------------------------------------+
From: davej@sumax.seattleu.edu (Dave Jenner)
Newsgroups: comp.lang.fortran
Subject: Fortran Forever?
Date: 10 Nov 92 01:18:11 GMT
Article-I.D.: sumax.5698
Organization: Seattle University

I remember a saying something like: "Fortran will be around forever, we
just don't know what the language will look like in the future" or something
like that.  Can someone remember what the saying is, who said it, and
even give a reference to it?

Thanks.
Dave
From: lapoint@adios.brl.mil (Claude LaPointe )
Newsgroups: comp.lang.fortran
Subject: RE:  RE:  unformatted output
Date: 5 Nov 92 14:01:28 GMT


Earlier, I wrote:

 >mppa3@syma.sussex.ac.uk (Alan Richardson) writes (text paraphrased):
 >
 >>  using Fortran to produce unformatted output, intend tp use C to read
 >>  back in (via fread).
 >>
 >>          PROGRAM unformatted_test
 >>          REAL*4 value1, value2
 >>          value1=123.4
 >>          value2=298.9
 >>          OPEN(10, FILE='file1', FORM='UNFORMATTED')
 >>          WRITE(10) value1
 >>          WRITE(10) value2
 >>          CLOSE(10)
 >>          END
 >>
 >>  I'm running this on an HP 9000/720 machine with HP-UX 8.07. Instead
 >>  of getting just 8 bytes out (two four-byte floats) I get 24 bytes out;
 >>  Fortran pads output 4 bytes either side.
 >>  `od -c file1' gives:
 >>
 >>  0000000 000000 000004 041366 146315 000000 000004 000000 000004
 >>  0000020 041625 071463 000000 000004
 >>  0000030
 >>
 >>  So how do I get rid of these extra bytes, given that my WRITE statements
 >>  lie on several different lines? The poor C program can't cope!
 >
 >
 >1 - what you are encountering is not uncommon - padding to fill a record,
 >    block, or buffer; or beginning and end of record marks, or some such.
 >
 >2 - given that you really want to proceed in this manner, writing C
 >    code to read the records should not be difficult, IF YOU KNOW
 >    THE EXACT STRUCTURE OF FORTRAN UNFORMATTED OUTPUT RECORDS ON
 >    YOUR MACHINE, AND THE INTERNAL REPRESENTATIONS OF YOUR DATA.
 >    After all, the extremely general purpose "od" is written in C.
 >
 >3 - in general, (there are exceptions) fortran unformatted writes are useful
 >    in and intended to be used in fortran write/read pairs on like hardware
 >    and software architectures, with logically similar i/o lists in both
 >    the read and the write statements. The only reason to do this kind of i/o
 >    is to gain efficiency when dealing with large amounts of data by avoiding
 >    the time spent in formatting. The prices paid are decreased flexibility
 >    and increased volume on the storage medium.
 >
 >4 - unless there are overriding considerations, I would recommend
 >    formatted i/o.

Subsequently, concern has been expressed the ability to write formatted
and then read formatted with certainty that the resulting bit pattern
is identical to the original one.

Interesting comments on IEEE standards, the quality of their implementation,
and other matters, have been provided by various responders to the original
message.

It seems to me that,
as long as the application remains on one machine/software system, and
as long as ugliness in not a concern, one could circumvent the problem
by equivalencing variable/array names of appropriate types and doing
formatted reads/writes, not with edit descriptors appropriate to real
or double precision i/o, but with octal or hexadecimal edit descriptors.
Admittedly, these are non-standard, but they are ubiquitous.
Newsgroups: comp.lang.fortran
From: ercolessi@uimrl3.mrl.uiuc.edu (furio ercolessi)
Subject: Re: Whats the difference between STATIC variables and SAVE variables?
Reply-To: ercolessi@uimrl3.mrl.uiuc.edu (furio ercolessi)
Organization: MRL - UIUC
Date: Tue, 10 Nov 1992 04:21:04 GMT

In article <davidm.721341404@voltaire>, davidm@voltaire.Rational.COM (David Moore) writes:
|>
|>[ ... good reasons for using SAVE rather than the compilation flag. ]
|>
|>REMARKS:
|>
|>I have seen programs which assume that parameters passed once will remain
|>bound on subsequent calls to entry statements which lack those parameters.
|>For example, this is sometimes used to allocate memory dynamically. When you
|>find such a program, locate the original card deck, drop from the top of a tall
|>building, and see if you can erase all the disk copies before the deck hits
|>the ground (hint; remove the rubber bands)

if you use SAVE, what's wrong with this technique ?
you can do poor man's "packages".  i find them very useful when you
have data that you do not want to expose to the whole world, and you want
to act on them in many ways.  example:

	call histogram_initialize(n,xmin,xmax)
	...
	do i=...
	    ...
	    call histogram_accumulate(x(i))
	    ...
	enddo
	call histogram_output
		
and the histogram array (SAVEd, of course) is local to the 'histogram' package, 
which is a single routine with three entry points.
I have this in a lot of programs and find it useful.  I would be delighted to
punch them on cards and do what you suggest (after backup on a DAT),
which is a bit anti-environmental but sounds as lots of fun, but unfortunately 
I cannot find a card puncher around ...  :-)

--
Furio Ercolessi
Materials Research Laboratory           |   Intl School for Advanced Studies
Univ. of Illinois at Urbana-Champaign   |   Trieste, Italy
furio@uiuc.edu                          |   furio@sissa.it
From: mtan@ux1.cso.uiuc.edu (Maureen Tan)
Newsgroups: comp.lang.fortran,comp.sys.hp
From: ungar@leland.Stanford.EDU (Jeffrey Ungar)
Subject: Re: Weird HP compiler warning
Organization: DSG, Stanford University, CA 94305, USA
Date: Tue, 10 Nov 92 21:03:00 GMT

In article <1992Nov10.193635.2736@alchemy.chem.utoronto.ca> mroussel@alchemy.chem.utoronto.ca (Marc Roussel) writes:
>
>     I usually like my compilers to give me a lot of warnings, even when
>they are most likely useless.  In this case however, I have run across
>one warning whose meaning I cannot fathom.  Consider the following short
>program:
>
>	  double precision h,nexth,err,d2fex
>	  h = 1.d0
>	  err = 10.d0
>	  d2fex = 123.d0
>          nexth = min(h,sqrt(12.d0*err/d2fex))
>	  write(*,*)nexth
>	  END
>
>For this piece of code, the compiler produces the warning
>
>Warning on line 5 of weird.f: Argument has same name as INTRINSIC function

That's because it looks (almost) like you are trying to pass a function,
namely the intrinsic function SQRT, to the MIN() function. Of course, if
you *really* wanted to use SQRT as a subprogram argument, you would
declare it in an INTRINSIC statement, and just write the name "SQRT" in
the argument list (but not, I would suggest, to the MIN routine!)

It appears this warning is in keeping with your preference for having
lots of warnings, even silly ones :-)

PJU

Newsgroups: comp.lang.fortran
From: krkitsem@undergrad.math.waterloo.edu (Kevin Kitsemetry)
Subject: Re: "Too many files open" error in DOS
Organization: University of Waterloo
Date: Fri, 6 Nov 1992 14:21:05 GMT

In article <1cp9gjINNi5j@mizar.usc.edu> sharp@mizar.usc.edu (Malcolm Sharp) writes:
>
>We've developed an MS-DOS-based FORTRAN program that has given the
>error message "Too many files open."  This occurs when we the program
>is attempting to open the 16th file.  We have editted the 'CONFIG.SYS'
>file "FILES= " statement to be 30, 40, ... 60 files to no avail (and of
>course rebooted after making the change).
>
>Any ideas suggestions will be appreciated.
>

This is specific to the compiler that you are using.  Some, such as
WATCOM FORTRAN 77 & FORTRAN 77/386, will allow you to increase this
limit.
Newsgroups: comp.lang.fortran
From: metcalf@apofort.cern.ch (Michael Metcalf )
Subject: Re: Fortran Forever?
Organization: CERN European Lab for Particle Physics
Date: Tue, 10 Nov 1992 14:25:38 GMT


This quotation has been attributed to Prof. Tony Hoare, but I have no source.

Another nice quotation is attributed to Alan Perlis: "Fortran is not a flower, but a
weed. It is hardy, occasionaly blooms, and grows in every computer."


                                          Mike Metcalf

                                           (metcalf@cernvm.cern.ch)
Newsgroups: comp.lang.fortran