HDTenEightyP/NetNews huggingface dataset:
From: iwm@doc.ic.ac.uk (Ian W Moor)
Newsgroups: comp.lang.modula2
Subject: Re: Array parameter passing
Date: 6 Oct 1992 12:59:00 +0100
Organization: Department of Computing, Imperial College, University of London, UK.
Distribution: world
NNTP-Posting-Host: swan.doc.ic.ac.uk
Keywords: Oberon, parameter passing


In article <1992Oct5.230036.8066@dfv.rwth-aachen.de>, maho@dfv.rwth-aachen.de (Martin Horneffer) writes:
|> minyard@crchh453.bnr.ca (Corey Minyard) writes:
|> Here come how the Oberon(-2)-compiler I use (Amiga-Oberon) solves the
|> problem:
|> One is to avoid the copying of ARRAY-parameters. If this is used in
|> a certain procedure, this procedure, of course, may not change this parameter.
|> 
|> Example:
|> 
|>     PROCEDURE PrintString(s : ARRAY OF CHAR); (* $CopyArrays- *)
|>     
|> Another solution would be to make to Compiler intelligent enough to see that
|> the ARRAY ist not changed in the procedure and then chose this option 
|> automatically.
|> 

Getting the compiler to do it right is much the best way ! What happens if
you disable array copying and then later by mistake you modify the procedure 
to change the string ?

 
-- 
Ian W. Moor		+71 589 5111 x 5039
iwm@doc.ic.ac.uk   Department of Computing, Imperial College.            
"Experts from BNFL have advised the Russians to rename Chernobyl as Sellograd
 and open a tourist centre"
Newsgroups: comp.lang.modula2
From: randy@psg.com (Randy Bush)
Subject: Re: FST V3.0 - WHERE CAN I GE
Organization: Pacific Systems Group, Portland Oregon, US
Date: Thu, 1 Oct 1992 05:18:46 GMT

Robert.Bergermann@f2002.n241.z2.fidonet.org (Robert Bergermann) writes:

> Is there any fidonet node where I can frequest the v3 of FST?

Roger assures me that by next week I will have it here and can post for FTP
and FidoNet .REQuest.

  ftp.psg.com:~/pub/modula-2
  1:105/6  V.32bis

randy
-- 
randy@psg.com   ...!uunet!m2xenix!randy
Newsgroups: comp.lang.modula2
From: seurer@rchland.vnet.ibm.com (Bill Seurer)
Subject: JPI v 3.0 and EMMSYS on PCs
Date: Mon, 28 Sep 1992 00:50:33 GMT
Reply-To: BillSeurer@vnet.ibm.com
Disclaimer: This posting represents the poster's views, not necessarily those of IBM
Organization: IBM Rochester

I was experimenting with my new PC yesterday and added EMMSYS (a device
driver for emulated expanded memory from extended, or the other way around
(DOS memory is soooo confusing)) to my setup.  Anyway, several hours later
I was using JPI's TopSpeed 3.0 to compile a large Modula-2 program that
I had successfully compiled earlier.  It hung after finishing about the
5th module which is nothing particularly complex nor long.

After much experimentation I discovered that the module had finished 
compiling so it looked like TopSpeed's built in make was what was hanging.
I then went back and started removing all the changes I had made to my
configuration and when I took out EMMSYS it worked fine.

Has anyone else noticed that TopSpeed doesn't work right when EMMSYS is
installed?  Or is this just a symptom of something else?
-- 

- Bill Seurer     Language and Compiler Development      IBM Rochester, MN
  Internet: BillSeurer@vnet.ibm.com    America On-Line: BillSeurer@aol.com
From: zzassgl@uts.mcc.ac.uk (Geoff Lane)
Newsgroups: comp.lang.modula2
Subject: Best place to start an Oberon2 port?
Date: 6 Oct 92 19:06:39 GMT
Organization: Manchester Computing Centre, Manchester, England, M13 9PL.


If someone was to, in a fit of ambition, attempt a port of the Oberon2
compiler to a new machine, what would the best base to start from?

I don't have access to an existing Oberon compiler or environment.

-- 
Geoff. Lane. | Internet: zzassgl@uts.mcc.ac.uk | Janet: zzassgl@uk.ac.mcc.uts
UTS Sys Admin,  Manchester Computing Centre,  Oxford Rd,  Manchester, M13 9PL
"The Royal Family must think the entire world smells of wet paint."
From: g_dotzel@tron.gun.de (Guenter Dotzel)
Newsgroups: comp.lang.modula2
Subject: Yeaaaah! ISO Modula-2 (SC22.WG13) still
Date: 26 Sep 92 19:30:00 GMT
Organization: TRON Public Mailbox, Neurath, Germany


Hi Modulans,

Can't keep up with reading all the stuff about whether or not Modula-2
is still alive.

Just came back from the 

                        7th Meeting of the ISO Modula-2
                            working group SC22.WG13 
                                      at 
               Technical University of Delft, 21-25. Sep. 1992. 

Believe it or not, the Committee Draft will be there *real soon now*!

Take care, Guenter

Guenter Dotzel, ModulaWare GmbH, Wilhelmstr. 17A, D-W 8520 Erlangen/F.R.Germany
Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
E-mail/Internet: 100023.2527@compuserve.com
                 g_dotzel@ame.nbg.sub.org 
Newsgroups: comp.lang.modula2
From: seurer@rchland.vnet.ibm.com (Bill Seurer)
Subject: Re: JPI v 3.0 and EMMSYS on PCs
Date: Tue, 29 Sep 1992 17:24:45 GMT
Reply-To: BillSeurer@vnet.ibm.com
Disclaimer: This posting represents the poster's views, not necessarily those of IBM
Organization: IBM Rochester

In article <1992Sep29.134753.23115@news.uit.no>, torbjorn@forit.forut.no (Torbjorn Sund) writes:
|> In article <1992Sep28.005033.16169@rchland.ibm.com>, seurer@rchland.vnet.ibm.com (Bill Seurer) writes:
|> 
|>     Has anyone else noticed that TopSpeed doesn't work right when EMMSYS is
|>     installed?  Or is this just a symptom of something else?
|>     -- 
|>     
|> had the same trouble with 3.01. got 3.02, that solved some of
|> the problems. Try using TSX instead of TS to start the
|> environment, TSX accesses some other part of that DOS
|> jungle of extended, expanded, etc memory.
|> You could also try to disable
|> use of extended/expanded memory altogether,
|> and instead use as much of your extenpanded
|> memory for disk cache.
|> 
|> torbjorn

TSX?  I don't remember that but will give it a shot.

P.S. I meant EMM386.SYS not EMMSYS in my original note.
-- 

- Bill Seurer     Language and Compiler Development      IBM Rochester, MN
  Internet: BillSeurer@vnet.ibm.com    America On-Line: BillSeurer@aol.com
Newsgroups: comp.lang.modula2
From: tchannon@black.demon.co.uk (Tim Channon)
ReplyTo: tchannon@black.demon.co.uk
Subject: Re: Why 3 button mice in Oberon?
Distribution: world
X-Mailer: cppnews $Revision: 1.18 $
Organization: null
Date: Thu, 1 Oct 1992 01:40:25 +0000

> From the examples given, it seems we have fundamentally different
> ideas about what an "exception" actually is.  For example, when
> reading characters from a file, I do not consider reaching the end
> of the file as an exceptional condition and I certainly don't like the
> idea of using an exception to terminate an iteration over a fixed
> range.  IMHO exceptions can be replaced by either making a function
> take/return additional arguments or by dynamically binding a function
> to be called in the event of an "exception".
> 

Both of you seem to have good points.

This is something where Basic seems to have had easy to use if crude solutions 
ON ERROR <do something>
It only caught things that the language implementors considered errors which 
perhaps is your view as opposed to user defined conditions.

Do we now have a call for OOP exceptions? This may be where you both meet. 

I am placing copyright on OOPS() ;-) (I hope the humour travels well)

Is it reasonable to think of programming as fully defining the error system 
with the side effect of producing the intended program? 

  TC. 
    E-mail: tchannon@black.demon.co.uk or tchannon@cix.compulink.co.uk
From: cspt@giraffe.ru.ac.za (Prof. P. Terry)
Newsgroups: comp.lang.modula2
Subject: Re: Why 3 button mice in Oberon?
Date: 30 Sep 92 19:41:45 GMT
Article-I.D.: giraffe.cspt.39.0
Organization: Rhodes University, Grahamstown, South Africa

In article <BEVAN.92Sep29181450@tiger.cs.man.ac.uk> bevan@cs.man.ac.uk 
(Stephen J Bevan) writes:

>In article <5275@balrog.ctron.com> smith@ctron.com (Larry Smith) writes:
>   >>Someday, I hope to have time to add exceptions to Oberon
>
>   >Whatever for?
>
>   Because I consider them to be a fundamental control flow device, and
>   absolutely required to produce safe code.  I don't have time to enter
>   into a full net.debate about it, so just take it as my humble opinion.
>   I'll make just this one post.
>
>   [ lots of examples of using exception handlers deleted ]
>
>From the examples given, it seems we have fundamentally different
>ideas about what an "exception" actually is.  

So does WG13.  If you could have seen or heard all the discussions you
would know that they are not easy things to nail down or decide how to 
handle.

The draft has exceptions and exception handling proposed for ISO M-2.  There 
is a LOT of impact on the language some folk once called Modula-2.

Whether the world will like the proposals remains to be seen.

Let's spare Oberon, at any rate!
From: brueni@csgrad.cs.vt.edu (Dennis Brueni)
Newsgroups: comp.lang.modula2
Subject: Re: Exporting comments, readable by a browser
Date: 26 Sep 92 03:04:34 GMT
Organization: VPI&SU Computer Science Department, Blacksburg, VA

In article <9209250710.aa13975@thama1.apgea.army.mil> Modula2 List <INFO-M2%UCF1VM.BITNET@cmsa.Berkeley.EDU> writes:
>> In article <I> write:
>> If the Oberon Browser read the source text rather than the symbol file,
>> a convention such as (** could be adopted to denote exported comment
>> blocks.  The empty comment (**), would have to be handled as a special
>> case, but that's easy to do.
>
>    The browser tool reads the symbol file produced by the compiler.
>    However, one could extend your idea easily to the compiler.  The
>    compiler _could_ export comment blocks to the symbol file, but I believe
>    that would make symbol files unecessarily large.

One could compress the comment strings when they are written to the 
symbol file.  That would save some space.  You could do even better
by compressing the whole symbol file on the fly :-).  Another factor
to consider is that symbol files generally aren't very big files
anyway, so it really wouldn't hurt much if they plumped up a bit.
A quick listing of 168 Modula-2 symbol files I have on my Amiga
showed an average size of less than 4K.  After compression (LZW),
the average size went down to 3.2K.  With large numbers of files this
small, the real wasted space goes to directory overhead and lots
of half used disk blocks.

-- 
--Dennis Brueni (N0JSQ)        "The knack to flying lies in learning 
  brueni@csgrad.cs.vt.edu       how to throw yourself at the ground 
  <Project_Envision>            and miss."  -- Douglas Adams
Newsgroups: comp.lang.modula2
From: torbjorn@forit.forut.no (Torbjorn Sund)
Subject: Re: JPI v 3.0 and EMMSYS on PCs
Organization: Norwegian Telecom/FORUT, Norway
Date: Tue, 29 Sep 1992 13:47:53 GMT

In article <1992Sep28.005033.16169@rchland.ibm.com>, seurer@rchland.vnet.ibm.com (Bill Seurer) writes:

    Has anyone else noticed that TopSpeed doesn't work right when EMMSYS is
    installed?  Or is this just a symptom of something else?
    -- 
    
had the same trouble with 3.01. got 3.02, that solved some of
the problems. Try using TSX instead of TS to start the
environment, TSX accesses some other part of that DOS
jungle of extended, expanded, etc memory.
You could also try to disable
use of extended/expanded memory altogether,
and instead use as much of your extenpanded
memory for disk cache.

torbjorn
From: Yves.Auger@f116.n242.z1.fidonet.org (Yves Auger)
Newsgroups: comp.lang.modula2
Subject: Modula-2 in french
Date: 4 Oct 92 23:30:25 GMT
Article-I.D.: puddle.6162.2AD1F0D7
Organization: FidoNet node 1:242/116 - Micro-Plus, St-Jerome PQ

Hello,

I am looking for a Modula-2 compiler well fit for teaching computer science at high school level. I need something with documentation in french langage if possible ;-) . All suggestions are welcome.

Yves Auger 

--  
uucp: uunet!m2xenix!puddle!242!116!Yves.Auger
Internet: Yves.Auger@f116.n242.z1.fidonet.org
Newsgroups: comp.lang.modula2
Subject: Re: Oberon parameter passing
From: mdlcpgs@lhn.gns.cri.nz (Phil Scadden)
Date: 5 Oct 92 08:47:55 +1200
Organization: Institute of Geological and Nuclear Sciences, Lower Hutt, New Zealand

> I have a question about passing of array parameters in Oberon-2.
> Lets say I want to write a procedure to print a string passed in to
> it.  I would do something like:
> 
>         PROCEDURE PrintString(VAR s : ARRAY OF CHAR);
>         BEGIN
>            (* print string here *)
>         END Print String.
> 
> But then the following would not work.
> 
>         PrintString("Hello");
>         
> Because a constant is being passed in.  So instead, the PrintString
> routine would be:
> 
>         PROCEDURE PrintString(s : ARRAY OF CHAR);
>         BEGIN
>            (* print string here *)
>         END Print String.

Well here is one my pet weaknesses with PASCAL/M2/Oberon??. In parameter
passing the VAR (or its absence) is being forced into a dual service
of logically (from the programmers point of view) indicating whether a
parameter will be modified or not by the routine; and from the compiler
point of view, it is used for determining passing mechanism. Strictly
the programmer shouldnt have to worry about such implementation-dependent
detail but in practise the need for efficiency comes in. Many "real"
compilers use "pragmas" or "attributes" to convey that kind of extra
information to the compiler and personally I would like to see this practise
made consistant in the language. Ie allow optional attributes like 
[READONLY] on parameters.

Returning to your example, I dont see a problem with  
         PROCEDURE PrintString(VAR s : ARRAY OF CHAR);
         BEGIN
            (* print string here *)
         END PrintString.
Your compiler creates "hello" in a write-protected page (if your memory
hardware will support such a beast). It has an address like any other variable
which can be passed. If your routine tries to modify it, then a memory
exception will be generated at runtime. A lot of smarts needed to flag such
a problem at compile time though without the pragma/attribute approach.
	Phil
From: seurer@rchland.vnet.ibm.com (Bill Seurer)
Subject: Oberon: Exceptions (Re: Why 3 button mice in Oberon?)
Date: Thu, 01 Oct 1992 18:34:03 GMT
Reply-To: BillSeurer@vnet.ibm.com
Disclaimer: This posting represents the poster's views, not necessarily those of IBM
Organization: IBM Rochester

How about changing the Subject to reflect the topic of discussion?  I've
been skipping all these posts but I began wondering why a discussion of mice
had gone on so long.  Looks like it turned into a discussion of exceptions.
-- 

- Bill Seurer     Language and Compiler Development      IBM Rochester, MN
  Internet: BillSeurer@vnet.ibm.com    America On-Line: BillSeurer@aol.com
From: bevan@cs.man.ac.uk (Stephen J Bevan)
Newsgroups: comp.lang.modula2
Subject: Re: Why 3 button mice in Oberon?
Date: 29 Sep 92 17:14:50 GMT
	<1992Sep16.165505.13713@sequent.com> <5176@balrog.ctron.com>
	<gsc.717334211@coombs> <5275@balrog.ctron.com>
Organization: Department of Computer Science, University of Manchester
In-reply-to: smith@ctron.com's message of 29 Sep 92 13:33:07 GMT

In article <5275@balrog.ctron.com> smith@ctron.com (Larry Smith) writes:
   >>Someday, I hope to have time to add exceptions to Oberon

   >Whatever for?

   Because I consider them to be a fundamental control flow device, and
   absolutely required to produce safe code.  I don't have time to enter
   into a full net.debate about it, so just take it as my humble opinion.
   I'll make just this one post.

   [ lots of examples of using exception handlers deleted ]

From the examples given, it seems we have fundamentally different
ideas about what an "exception" actually is.  For example, when
reading characters from a file, I do not consider reaching the end
of the file as an exceptional condition and I certainly don't like the
idea of using an exception to terminate an iteration over a fixed
range.  IMHO exceptions can be replaced by either making a function
take/return additional arguments or by dynamically binding a function
to be called in the event of an "exception".

bevan
Newsgroups: comp.lang.modula2
From: maho@dfv.rwth-aachen.de (Martin Horneffer)
Newsgroups: comp.lang.modula2
Subject: Re: Oberon parameter passing
Keywords: Oberon, parameter passing
Date: 5 Oct 92 23:00:36 GMT
Organization: Communication Networks

minyard@crchh453.bnr.ca (Corey Minyard) writes:

>However; will "Hello" be copied onto the stack?

Usually the string will have to be copied on the stack.
(Or, even worse, copied to a temporary object on the heap.)

>That seems very wasteful,
>but I don't see any other way around it.  I am writing an Oberon-2
>interpreter and I can't take this level of inefficiency.

This *really* is nasty.
Here come how the Oberon(-2)-compiler I use (Amiga-Oberon) solves the
problem:
there are Compiler-options that have a certain syntax and are put into
comments. This options allows to influence the creation of code in different
ways. One is to avoid the copying of ARRAY-parameters. If this is used in
a certain procedure, this procedure, of course, may not change this parameter.

Example:

    PROCEDURE PrintString(s : ARRAY OF CHAR); (* $CopyArrays- *)
    
This does exactly what you want and is still portable Oberon.
(I still think it's a bit ugly, since it somehow reminds me
of Turbo-Pascal...)

Another solution would be to make to Compiler intelligent enough to see that
the ARRAY ist not changed in the procedure and then chose this option 
automatically.

Martin
-- 
  Martin Horneffer - maho@dfv.rwth-aachen.de;
      ECG 148        Fido: 2:242/7.9; Martin_Horneffer@mowgli.fido.de;
                     Maus: AC, AC2; Martin_Horneffer@ac.maus.de
From: Tom.Ruby@f590.n139.z1.fidonet.org (Tom Ruby)
Newsgroups: comp.lang.modula2
Subject: Re: Why 3 button mice in
Date: Tue, 29 Sep 92 09:29:00 PST
Organization: FidoNet node 1:139/590 - PMI BBS, Green Bay WI

  +---------
UN|   The mouse button is the left button, the control key is the middle button
UN|   and the option key is the right button. I have switched to being a left-
UN|   handed mouse user to preserve the proper spatial relationship between buttons.
UN|
UN|   Terry Moore
UN|
  +---------
I'm dyslexic.  I don't care about spatial relationships.

Tom Ruby
:)  .)  :)

___
 X PQ-Under-Trial 2.15 X If you ain't got it then you ain't communicatin'.


--  
uucp: uunet!m2xenix!puddle!139!590!Tom.Ruby
Internet: Tom.Ruby@f590.n139.z1.fidonet.org
Newsgroups: comp.lang.modula2
From: stanjm02@cc.curtin.edu.au
Subject: Modula-2 & Windows
Organization: Curtin University of Technology
Date: Tue, 6 Oct 1992 00:27:46 GMT

Can anybody tell me if it is possible to write Windows programmes with
modula-2? And if so, how to go about doing so?
From: g_dotzel@tron.gun.de (Guenter Dotzel)
Newsgroups: comp.lang.modula2
Subject: Re^2: Modula-2 may be dead, but long liv
Date: 26 Sep 92 18:12:00 GMT
Organization: TRON Public Mailbox, Neurath, Germany

ANDERSEN%REALITY@USENET.ZER wrote on Fri, 09-18-1992 at 20:19 h
under the subject 'Re: Modula-2 may be dead, but long live ':

> thutt@THAMA1.APGEA.ARMY.MIL writes:
> >     Championing the worldwide usage of Oberon-2!
> 
> What system are you using it on?  Is there a compiler for the NeXT or VAX/VMS  
> systems?

Of course, we have an Oberon-2 native code compiler ready for VAX/VMS.

This commercial product is called H2O V1.0.
H2O produces VMS-object files; the VMS debugger can be used for debugging. 
Foreign language calls are possible. Comes with full ISO *Modula-2*
Standard Library.

For more information contact

Guenter Dotzel, ModulaWare GmbH, Wilhelmstr. 17A, D-W 8520 Erlangen/F.R.Germany
Modula-2 & Oberon-2 Compiler Manufactur (VAX/VMS, OS/2 and Unix-Platforms)
Tel. +49 (9131) 208395, Fax +49 (9131) 28205.
E-mail/Internet: 100023.2527@compuserve.com
                 g_dotzel@ame.nbg.sub.org
Newsgroups: comp.lang.modula2
From: minyard@crchh453.bnr.ca (Corey Minyard)
Subject: Oberon parameter passing
Keywords: Oberon, parameter passing
Reply-To: minyard@bnr.ca
Organization: BNR
Date: Thu, 01 Oct 1992 20:34:20 GMT


I have a question about passing of array parameters in Oberon-2.
Lets say I want to write a procedure to print a string passed in to
it.  I would do something like:

        PROCEDURE PrintString(VAR s : ARRAY OF CHAR);
        BEGIN
           (* print string here *)
        END Print String.

But then the following would not work.

        PrintString("Hello");
        
Because a constant is being passed in.  So instead, the PrintString
routine would be:

        PROCEDURE PrintString(s : ARRAY OF CHAR);
        BEGIN
           (* print string here *)
        END Print String.

However; will "Hello" be copied onto the stack?  That seems very wasteful,
but I don't see any other way around it.  I am writing an Oberon-2
interpreter and I can't take this level of inefficiency.

----------------------------------------------------------------------
Corey Minyard
minyard@bnr.ca
From: santiago@FGSSU1.FGS.SLB.COM (Ramon Santiago)
Newsgroups: comp.lang.modula2
Subject: X and Motif bindings for Modual/Oberon ?
Date: 2 Oct 92 16:57:10 GMT
Reply-To: Modula2 List <INFO-M2%UCF1VM.BITNET@cmsa.Berkeley.EDU>
Distribution: world
Organization: The Internet

Hello,

	I am looking for either Modula-2 or Oberon-2 bindings for X and
Motif. Does anyone know where I can get these?


Ramon Santiago				e-mail:	santiago@fgssu1.fgs.slb.com
Schlumberger Data Services		phone:	(415) 927-0100
Finder Graphics Systems			fax:	(415) 927-2923
Corte Madera, CA 94925
From: andrea@ESSEX.STFX.CA (John Andrea)
Newsgroups: comp.lang.modula2
Subject: RE: X and Motif bindings for Modual/Oberon ?
Date: 2 Oct 92 22:44:13 GMT
Reply-To: Modula2 List <INFO-M2%UCF1VM.BITNET@cmsa.Berkeley.EDU>
Distribution: world
Organization: The Internet

I'm pretty sure that the X11 definition module is available as part of
the DEC WRL Modula-2+ distribution,
which you can get from gatekeeper.dec.com

John Andrea
Newsgroups: comp.lang.modula2
From: seurer@rchland.vnet.ibm.com (Bill Seurer)
Subject: Re: Array parameter passing
Date: Tue, 06 Oct 1992 13:44:28 GMT
Reply-To: BillSeurer@vnet.ibm.com
Disclaimer: This posting represents the poster's views, not necessarily those of IBM
Organization: IBM Rochester
Keywords: Oberon, parameter passing

In article <1arv24INN3nl@swan.doc.ic.ac.uk>, iwm@doc.ic.ac.uk (Ian W Moor) writes:
|> |> Example:
|> |> 
|> |>     PROCEDURE PrintString(s : ARRAY OF CHAR); (* $CopyArrays- *)
|> |>     
|> |> Another solution would be to make to Compiler intelligent enough to see that
|> |> the ARRAY ist not changed in the procedure and then chose this option 
|> |> automatically.
|> |> 
|> 
|> Getting the compiler to do it right is much the best way ! What happens if
|> you disable array copying and then later by mistake you modify the procedure 
|> to change the string ?

We extended our compiler with a 3rd procedure parameter type, REF.  REF
parameters are pass-by-reference just like VAR except that the value
can't be modified.  For expressions and constants whose address can't be
taken a temporary variable is created and its address is passed.

This makes a tremendous difference in performance for some code and
especially for open arrays.

I have seen similar things in Pascal compilers (often called CONST or
somesuch).
-- 

- Bill Seurer     Language and Compiler Development      IBM Rochester, MN
  Internet: BillSeurer@vnet.ibm.com    America On-Line: BillSeurer@aol.com