======================================================================= 1 ===
Date:    1 Feb 1995 02:37:14 GMT
From:    "Andres L. Pacheco" <apacheco@gte.com>
Subject: Re: L'OBJET: A new journal (in French) on object technology.

davidt@netcom.com (David Taylor) wrote:
>
> In article <HINSENK.95Jan31152444@cyclone.ERE.UMontreal.CA>,
> hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote:
> 
> > In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865
> <pegasus1@bnr.ca> writes:
> > 
> >    When in Rome....speak Italian....When in USA, speak English.
> > 
> > Usenet has become quite international. It's not just the USA any more.
> 
> True.  There is also the UK, Australia, Canada, etc.  There are also a
> number of non-native-English-speaking peoples who choose to use English
> (not American, by the way) on Usenet so they can communicate their
> ideas and questions to a global audience.
> 
>   -- Dave

Hay tantas formas de rebatir ese argumento de "audiencia global", 
que ni tiempo da para comenzar por la primera. 

Digamos solamente que salidas como la respuesta al anuncio de 
Bertrand Meyer no tienen cabida en este ambiente, el cual trata
de tildarse abierto a una audiencia mundial.

La prepotencia nunca ha sido considerada  virtud por culturas 
intelectualmente avanzadas.


Saludos poliglotas,

Andres.

PD. If you don't understand this message, 
    you can always find a translator --for a nominal fee!;-{)


======================================================================= 2 ===
Date:    Wed, 1 Feb 1995 01:04:51 GMT
From:    davidt@netcom.com (David Taylor)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <HINSENK.95Jan31152444@cyclone.ERE.UMontreal.CA>,
hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote:

> In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865
<pegasus1@bnr.ca> writes:
> 
>    When in Rome....speak Italian....When in USA, speak English.
> 
> Usenet has become quite international. It's not just the USA any more.

True.  There is also the UK, Australia, Canada, etc.  There are also a
number of non-native-English-speaking peoples who choose to use English
(not American, by the way) on Usenet so they can communicate their
ideas and questions to a global audience.


  -- Dave


======================================================================= 3 ===
Date:    1 Feb 1995 08:44:13 GMT
From:    wolfgang.koehler@wu-wien.ac.at (Wolfgang Koehler)
Subject: Windows/DOS port available?

Is there a Windows/DOS port available?
May I use the SRC (DEC) implementation under Linux and compile the code on 
a DOS/Windows system as a target system with only little changes?
Thank you in advance for any answer.


======================================================================= 4 ===
Date:    Wed, 1 Feb 1995 16:42:55 GMT
From:    hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <davidt-3101951904510001@192.0.2.1> davidt@netcom.com (David Taylor)
 writes:

   True.  There is also the UK, Australia, Canada, etc.  There are also a

Don't forget that about one third of Canada's population speaks French.

   number of non-native-English-speaking peoples who choose to use English
   (not American, by the way) on Usenet so they can communicate their
   ideas and questions to a global audience.

True. And there are others who choose to use another language to
communicate their ideas and questions to another part of the
global audience. With the growth of the Internet outside the USA,
the number of such people is bound to increase. Americans and
other English-speaking readers will have to get used to messages
in other languages on the net. They should see it as an opportunity
to widen their horizon rather than complain.

--
-------------------------------------------------------------------------------
Konrad Hinsen                     | E-Mail: hinsenk@ere.umontreal.ca
Departement de Chimie             | Tel.: +1-514-343-6111 ext. 3953
Universite de Montreal            | Fax:  +1-514-343-7586
C.P. 6128, succ. A                | Deutsch/Esperanto/English/Nederlands/
Montreal (QC) H3C 3J7             | Francais (phase experimentale)
-------------------------------------------------------------------------------


======================================================================= 5 ===
Date:    Wed, 1 Feb 1995 02:32:42 GMT
From:    csaldanh@mae.carleton.ca (Chris Saldanha)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Jeffrey Fries P865 (pegasus1@bnr.ca) wrote:
: When in Rome....speak Italian....When in USA, speak English.

: Rude...my butt!

I note that you work for a Canadian company.

Get real if you think that USENET is an American thing.

--Chris
Chris Saldanha                         |  "Can I tell you what makes love
Carleton University (Comp. Sci)        |   so frightening?
csaldanh@mae.carleton.ca  (NeXT/MIME)  |   Its that you don't own it.
http://www.mae.carleton.ca/~csaldanh   |   It owns you."


======================================================================= 6 ===
Date:    Wed, 1 Feb 95 09:12:47 CST (-0600)
From:    rjh@yclept.chi.il.us (Randolph J. Herber)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Selected headers retained to indicate attribution of quoted material:
|From: Jeffrey Fries P865 <pegasus1@bnr.ca>
|Subject: Re: L'OBJET: A new journal (in French) on object technology.
|Date: 31 Jan 1995 18:09:46 GMT
|Organization: Bell-Northern Research, Richardson, TX

|gcorneau@absolu.qc.ca (Gaetan Corneau) wrote:
|>
|> 
|> >> [This message describes the launching of a new journal, in French,
|> >> entirely devoted to object technology.]
|> >> 
|> >>       Une nouvelle publication en langue francaise, la premiere a notre
|> >> connaissance a etre entierement consacree aux technologies objet, vient
|> >> d'etre creee:
|>   
|>    Snip! Snip!
|> 
|> >> Bertrand Meyer - ISE, Santa Barbara, California
|> >> 805-685-1006, fax 805-685-6869, <bertrand@eiffel.com>
|> >> Web home page: http://www.eiffel.com
|> >> ftp://eiffel.com
|> 
|> 
|> >What did ya say ?
|> 
|> >huh ?
|> 
|> Et TOI, qu'as-tu dit? (And YOU, what did you say?)...
|> 
|> Yes: not every people on the planet (or in the universe) speak english: real
 
|> life is not like Star Trek!     ;-)
|> 
|> 
|> --------------------------------------------------------------------
|>  GAETAN CORNEAU                
|>  Software designer     
|>         
|>  Absolu Technologies inc.     Phone:      (418) 650-5516 
|>  360 Franquet, suite 70       Fax:        (418) 650-0860 
|>  Quebec Metro High Tech Park  E-Mail:     gcorneau@absolu.qc.ca
|>  Sainte-Foy, Quebec, G1P 4N3  Compuserve: 73062,3653@compuserve.com 
|>  Canada                       
|> --------------------------------------------------------------------

|When in Rome....speak Italian....When in USA, speak English.

|Rude...my butt!

Tsk, Tsk.

Particularly considering where the message came from:

	From: Jeffrey Fries P865 <pegasus1@bnr.ca>

To the best of my knowledge, the address suffix indicates Canada and the
address as a whole indicates Bell Northern Research, which I know is a
corporation with its home office in Canada.  Canada is a country that is
offically bilingual -- English and French, the two languages under discussion.

I had found the original posting quite reasonable.  And, yes, I do
recognize that English is the lingua franca of the Internet.  The
original poster announced a publication that would be in French first
briefly in English and then in detail in French.  If one could not
handle the detailed announcement without significant difficulty, then
one might also have significant with the publication itself.

At the place where I work presently, English is also the lingua franca.
But, I hear many languages used, including, American, Canadian, Australian,
English, Hindi, Spanish, Mexican, Italian, French, German, Polish, Russian,
Chinese, Greek, Japanese, Korean, Swedish, Portuguese, and Arabic.  If a group
assembles and all are fluent in a language, it very likely will be used.  No
one where I work is surprised by this.  If I happen to join a group using
some language other than English, I seldom have any trouble asking for and
receiving a summary in English and frequently the entire group switches to
English just to accommodate me.

I am an electronic  postmaster emeritus of where I presently work.  On a
number of occasions, when I had trouble communicating with a non-English-using
correspondent, I either located someone on site that did understand a language
understood by the correspondent and asked for assistance composing a response
to assist the correspondent with the electronic mail difficulty.  On a few
occasions, I used my meager German for this purpose.  I learned some Russian
to help one correspondent with persistent difficulties.

If the poster of `What did ya say ?' asked either the original announcer of
the publication L'OBJET or the this discussion group as a whole politely for
a summary, I would have expected that the summary would have been forthcoming.

	Randolph J. Herber,
	(Speaking for myself and not US, USDOE, Fermilab or URA.)
	(Trademarks belong to their respective owners.)
	@ home:	{att|wheaton|uunet!tellab5}!yclept!rjh, rjh@yclept.chi.il.us



======================================================================= 7 ===
Date:    1 Feb 95 09:28:27
From:    dagenais@notung.vlsi.polymtl.ca (Michel Dagenais)
Subject: Linux binaries for SRC M3 3.4


LINUX binaries for SRC M3 3.4 are now available from ftp.vlsi.polymtl.ca
in pub/m3/linux. They were compiled with Slackware 2.1.0, Linux 1.1.59
and XFree 3.1.

On the TODO list, (help appreciated, let me know if you start something), 
activate VM synchronized garbage collection for LINUX, convert to ELF
binary format and shared libraries, adapt the integrated Win32/386
code generator for LINUX/ELF (which would make the compilation much faster).
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 8 ===
Date:    1 Feb 95 09:11:16
From:    dagenais@notung.vlsi.polymtl.ca (Michel Dagenais)
Subject: Re: Differences between 3.3 and 3.4

In article <D39vJD.1Js@undergrad.math.uwaterloo.ca> bwbecker@dragon.uwaterloo.c
a (Byron Weber Becker) writes:

   Can someone summarize the differences between version 3.3
   and 3.4?  We've got 3.3 running -- what does the pain and
   agony of installing 3.4 buy me?  Is it worth it?

A few more goodies and a faster compiler. Possibly not worth it
depending on your needs. For LINUX, it may be a good idea to wait for
ELF shared libraries and perhaps an integrated backend. With binaries
available, the pain and agony are not that great. Furthermore,
a fix release may soon appear and the full build will be pretty
effortless (edit template, build boot, build rest).
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 9 ===
Date:    Wed, 1 Feb 1995 18:13:07 GMT
From:    gcorneau@absolu.qc.ca (Gaetan Corneau)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

> Americans and
>other English-speaking readers will have to get used to messages
>in other languages on the net. They should see it as an opportunity
>to widen their horizon rather than complain.

I suppose messages in the news should stay in english, so that they can be 
read by everybody. But there is also the fact that the original message's 
title was "L'OBJET: A new journal (in French) on object technology." It's 
about a new journal in french: if you can't read the message because it's in 
french, then I suppose the journal won't interest you.


--------------------------------------------------------------------
 GAETAN CORNEAU                
 Software designer     
        
 Absolu Technologies inc.     Phone:      (418) 650-5516 
 360 Franquet, suite 70       Fax:        (418) 650-0860 
 Quebec Metro High Tech Park  E-Mail:     gcorneau@absolu.qc.ca
 Sainte-Foy, Quebec, G1P 4N3  Compuserve: 73062,3653@compuserve.com 
 Canada                       
--------------------------------------------------------------------


======================================================================= 10 ===
Date:    1 Feb 1995 17:38:10 GMT
From:    Jeffrey Fries P865 <pegasus1@bnr.ca>
Subject: Re: L'OBJET: A new journal (in French) on object technology.

hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote:
>
> In article <davidt-3101951904510001@192.0.2.1> davidt@netcom.com (David Taylo
r) writes:
> 
>    True.  There is also the UK, Australia, Canada, etc.  There are also a
> 
> Don't forget that about one third of Canada's population speaks French.
> 
>    number of non-native-English-speaking peoples who choose to use English
>    (not American, by the way) on Usenet so they can communicate their
>    ideas and questions to a global audience.
> 
> True. And there are others who choose to use another language to
> communicate their ideas and questions to another part of the
> global audience. With the growth of the Internet outside the USA,
> the number of such people is bound to increase. Americans and
> other English-speaking readers will have to get used to messages
> in other languages on the net. They should see it as an opportunity
> to widen their horizon rather than complain.
> 
> --
> -----------------------------------------------------------------------------
--
> Konrad Hinsen                     | E-Mail: hinsenk@ere.umontreal.ca
> Departement de Chimie             | Tel.: +1-514-343-6111 ext. 3953
> Universite de Montreal            | Fax:  +1-514-343-7586
> C.P. 6128, succ. A                | Deutsch/Esperanto/English/Nederlands/
> Montreal (QC) H3C 3J7             | Francais (phase experimentale)
> -----------------------------------------------------------------------------
--

---------------------------------------------------------------------

  If I have offended anyone, please accept my sincerest apology.

  I posted article were in jest and I believe now it was taken
  the wrong way(I should have used those smiley faces).

  Come on....there's already too much hate in the world.

  -- Jeff Fries



======================================================================= 11 ===
Date:    1 Feb 1995 17:34:45 GMT
From:    eble@pegasus.informatik.uni-freiburg.de (Axel Eble)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Gaetan Corneau (gcorneau@absolu.qc.ca) wrote:

: Et TOI, qu'as-tu dit? (And YOU, what did you say?)...

: Yes: not every people on the planet (or in the universe) speak english: real 
: life is not like Star Trek!     ;-)

While this is certainly true you can't expect other people to understand
French or Spanish or German or any other language. It is common to use
English when communicating over the Net. And I am very comfortable with
this since English is the easiest language compared to the above mentioned
ones.

I agree, though that B. Meyer's posting was essential and I think his choice of
language was appropriate.


:  GAETAN CORNEAU                
:  Absolu Technologies inc.     Phone:      (418) 650-5516 
:  360 Franquet, suite 70       Fax:        (418) 650-0860 
:  Quebec Metro High Tech Park  E-Mail:     gcorneau@absolu.qc.ca

I may understand your grudges against the English speaking part of Canada,
but please leave this discussion out of *here*.

	Axel

--
Axel Eble                   Email: Axel.Eble@Informatik.Uni-Freiburg.DE
Institut fuer Informatik    Fon:   ++49 761 203 8184
Am Flughafen 17             Fax:   ++49 761 203 8162
D-79110 Freiburg


======================================================================= 12 ===
Date:    1 Feb 1995 19:31:27 GMT
From:    Allen Ethridge <ethridge@bnr.ca>
Subject: Re: L'OBJET: A new journal (in French) on object technology.

kaveh@stratus.CAM.ORG (Kaveh Kardan) wrote:
>
> In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865 <pegasus1@bnr.ca> 
writes:
> 
>    When in Rome....speak Italian....When in USA, speak English.
> 
>    Rude...my butt!
> 
> But Mr. Fries, according to your address, you are not in the USA.
> 

His gateway is not in the U.S.A.  Based on the article identifier
i'd assume he was in Texas, but that's only because i know how to
interpret the "crchh327" part.

	allen



======================================================================= 13 ===
Date:    01 Feb 1995 17:05:29 GMT
From:    kaveh@stratus.CAM.ORG (Kaveh Kardan)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865 <pegasus1@bnr.ca> wr
ites:

   When in Rome....speak Italian....When in USA, speak English.

   Rude...my butt!

But Mr. Fries, according to your address, you are not in the USA.





======================================================================= 14 ===
Date:    Wed, 1 Feb 1995 20:45:03 GMT
From:    cjmchale@cs.tcd.ie (Ciaran McHale)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Jeffrey Fries P865 <pegasus1@bnr.ca> writes:
>When in Rome....speak Italian....When in USA, speak English.

And when posting to announce a new journal that is in French, it seems
reasonable to word the posting in French and prefix it with a short note
in English to explain why the posting is in French.

That, by the way, is what Bertrand Meyer (the original poster) did.


Regards,
Ciaran.
-- 
---- Ciaran McHale (cjmchale@dsg.cs.tcd.ie)
\bi/ Dist. Systems Group, Department of Computer Science, Trinity College,
 \/  Dublin 2, Ireland. Telephone: +353-1-7021539 FAX: +353-1-6772204
http://www.dsg.cs.tcd.ie:/dsg_people/cjmchale/cjmchale.html


======================================================================= 15 ===
Date:    Thu, 02 Feb 1995 00:50:48 -0800
From:    cooljohn@leland.stanford.edu (John A. Magdaleno)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article (Dans l'article) <3gluda$nm1@crchh327.bnr.ca>, Jeffrey Fries
P865 <pegasus1@bnr.ca> wrote (icrivait) :

> gcorneau@absolu.qc.ca (Gaetan Corneau) wrote:
> >
> > 
> > >> [This message describes the launching of a new journal, in French,
> > >> entirely devoted to object technology.]
> > >> 
> > >>       Une nouvelle publication en langue francaise, la premiere a notre
> > >> connaissance a etre entierement consacree aux technologies objet, vient
> > >> d'etre creee:
> >   
> >    Snip! Snip!
> > 
> > >> Bertrand Meyer - ISE, Santa Barbara, California
> > >> 805-685-1006, fax 805-685-6869, <bertrand@eiffel.com>
> > >> Web home page: http://www.eiffel.com
> > >> ftp://eiffel.com
> > 
> > 
> > >What did ya say ?
> > 
> > >huh ?
> > 
> > Et TOI, qu'as-tu dit? (And YOU, what did you say?)...
> > 
> > Yes: not every people on the planet (or in the universe) speak
english: real 
> > life is not like Star Trek!     ;-)
> > 
> > 
> > --------------------------------------------------------------------
> >  GAETAN CORNEAU                
> >  Software designer     
> >         
> >  Absolu Technologies inc.     Phone:      (418) 650-5516 
> >  360 Franquet, suite 70       Fax:        (418) 650-0860 
> >  Quebec Metro High Tech Park  E-Mail:     gcorneau@absolu.qc.ca
> >  Sainte-Foy, Quebec, G1P 4N3  Compuserve: 73062,3653@compuserve.com 
> >  Canada                       
> > --------------------------------------------------------------------
> 
> When in Rome....speak Italian....When in USA, speak English.
> 
> Rude...my butt!

What makes you believe that we are all in the United States? And even so,
there are many people who don't speak English in the United States (or
very little English)... Spanish and Native American languages...

John


======================================================================= 16 ===
Date:    1 Feb 1995 15:41:55 GMT
From:    Jeffrey Fries P865 <pegasus1@bnr.ca>
Subject: Re: L'OBJET: A new journal (in French) on object technology.

csaldanh@mae.carleton.ca (Chris Saldanha) wrote:
>
> Jeffrey Fries P865 (pegasus1@bnr.ca) wrote:
> : When in Rome....speak Italian....When in USA, speak English.
> 
> : Rude...my butt!
> 
> I note that you work for a Canadian company.
> 
> Get real if you think that USENET is an American thing.
> 
> --Chris
> Chris Saldanha                         |  "Can I tell you what makes love
> Carleton University (Comp. Sci)        |   so frightening?
> csaldanh@mae.carleton.ca  (NeXT/MIME)  |   Its that you don't own it.
> http://www.mae.carleton.ca/~csaldanh   |   It owns you."
------------------------------------------------------------------

  If I have offended anyone, please accept my sincerest apology.
  It was not my intention.

  I posted the original article in jest and I believe now it was taken
  the wrong way.

  Come on....there's already too much hate in the world.

  -- Jeff Fries(Good Guys Wear Black; i.e. a Harley saying)



======================================================================= 17 ===
Date:    1 Feb 1995 22:26:55 -0500
From:    vbykov@CAM.ORG (Vassili Bykov)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Jeffrey Fries P865 <pegasus1@bnr.ca> writes:

>gcorneau@absolu.qc.ca (Gaetan Corneau) wrote:
>>
>> 
>> --------------------------------------------------------------------

>When in Rome....speak Italian....When in USA, speak English.

>Rude...my butt!


Sorry, but as a multi-lingual north-american, I almost feel like
apologizing for the air-headed "When in Rome" crack. Almost...

The writer of the comment was dis-lingual (aka someone who
doesn't speak the language very well.)

I am infact writing this reply on the machine of a Russian
collegue and I am French speaking. (Why you t'ink I type
wit' dis OUTRAGEOUS accent!)

Sorry to get off topic but Internet is NOT USA.

On topic, does anyont know of an OOP language which also implements
relationships between objects (a la CODASYL network model?)

Merci (mage de la schnoutte, creature ignare:-) - Charles-Andre
 


======================================================================= 18 ===
Date:    Thu, 2 Feb 1995 02:24:36 GMT
From:    eric@telebit.com (Eric Smith)
Subject: Re: Help-Modula3 for Linux

In article <3gh2jo$14k@adam.cc.sunysb.edu> knechamk@ic.sunysb.edu (Kirk A Necha
mkin) writes:
> it can compile Hello-world. But when I try to run the out-file I get
> the message: 'can't find 'libm3.so.3'. I get this message even
> when the library file is in the same directory. Also, many of the programs

I don't know what the real problem is, but it can probably be fixed by
putting the full path of the directory which contains the library into the
environment variable LD_LIBRARY_PATH.

CHeers,
Eric


======================================================================= 19 ===
Date:    1 Feb 1995 22:10:18 -0500
From:    dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Maybe he thinks that internet should do automatic translation of messages
when they cross international boundaries (darn, it where ARE those
universal translator chips when we need them?)



======================================================================= 20 ===
Date:    Thu, 2 Feb 1995 08:05:13 GMT
From:    phinely@uhunix4.uhcc.Hawaii.Edu (Peter Hinely)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3gpjdv$kau@stratus.CAM.ORG> vbykov@CAM.ORG (Vassili Bykov) writes:
>
>On topic, does anyont know of an OOP language which also implements
>relationships between objects (a la CODASYL network model?)
>

I don't if this is of interest, but the makers of the BETA programming 
language are working on a OODBMS for BETA.  

BETA is available for the mac and you can make real mac apps (although 
they are bloated in size.)

Check out comp.lang.beta

or

http://www.daimi.aau.dk/~beta/info


======================================================================= 21 ===
Date:    2 Feb 1995 07:57:07 GMT
From:    ckingsto%hookup.net@mail.hookup.net
Subject: Re: Modula-3 for OS/2

In <3gj3gt$it5@ocean.CAM.ORG>, hendrik@CAM.ORG (Hendrik Boom) writes:
>ckingsto@hookup.net@mail.hookup.net wrote:
>: In <DAGENAIS.95Jan17083244@notung.vlsi.polymtl.ca>, dagenais@notung.vlsi.pol
ymtl.ca (Michel Dagenais) writes:
>: >
>: >From the FAQ. The last persons known to be working on such a port were
>: >Hendrik Boom hendrick@CAM.ORG and Craig Andrew Kingston 
>: >ckingsto@undergrad.math.uwaterloo.ca.
>: >--
>: >
>: >Prof. Michel Dagenais			    dagenais@vlsi.polymtl.ca
>: >Dept of Electrical and Computer Eng.
>: >Ecole Polytechnique de Montreal		    tel: (514) 340-4029
>
>: Hi Everyone - Craig here.
>
>: I am still continuing to work on the port - just got delayed for a couple of
 months
>: because of issues not relating to the port.  Not sure at this time of any da
tes.
>
>: CRAIG
>: note: (my email has changed - not longer ckingsto@undergrad.math.uwaterloo.c
a 
>: but is now ckingsto@hookup.net)
>
>Hi everyone, Hendrik here.
>
>I too have been delayed by issues not related to the port -- most 
>notably a series of total and catastrophic hardware failures.  The 
>machine is up and running now (except for the tape backup system :-( ),  
>but I am still putting the pieces together, and it will be quite
>a while before I get back to modula-3.  When I do it will probably be 
>best if I see if Craig needs any help, rather than going it alone.

Thanx for the offer - Love any help and have received many offers
(a few of which were destroyed accidently).  

Anyways - my first status reports should appear in two weeks and
every two weeks following (or when deemed significant).

Any more offers of help are appreciated but I can't say that I'll need
help right away.

More later.
CRAIG-


======================================================================= 22 ===
Date:    Thu, 2 Feb 1995 14:16:40 GMT
From:    mikeh@ssd.fsi.com (Michael Hann)
Subject: Re: L'OBJET: A new journal (in French) on object technology.


It seems to me that the announcement of a new journal to be produced
in French does not stretch the bounds of propriety by being written
in French -- if you can't read French, well you won't be very
interested in the journal anyway.  I've got no problem with the
posting being in French.  Et de tout facon, je le lis.  Au revoir.

--
-----------------------------------------------------------------------
"There are no misfortunes from which the adroit cannot take some
profit and no boon from which the imprudent cannot take some harm."
	- LaRochefoucauld

	mikeh@ssd.fsi.com
-----------------------------------------------------------------------


======================================================================= 23 ===
Date:    2 Feb 1995 11:08:14 GMT
From:    gauthier@unilim.fr (Michel Gauthier)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3gluda$nm1@crchh327.bnr.ca>, Jeffrey Fries P865
<pegasus1@bnr.ca> wrote:

> [...]
> 
> When in Rome....speak Italian....When in USA, speak English.

... and when on the network, speak the relevant pidgin so as to be understood.
Honestly, it is generally the case, but sometimes it is not.

-- 
Michel Gauthier - Laboratoire d'informatique - 123 avenue Albert Thomas
F-87060 Limoges - fax +33()55457315
----- Are the messages that objects exchange also objects ? -----


======================================================================= 24 ===
Date:    Thu, 2 Feb 1995 21:07:12
From:    bf200@hermes.cam.ac.uk (B. Flynn)
Subject: Modula 3 PC -> Modula 3 Unix ??

I am currently doing Modula-3 at university and I am wondering if I FTP the 
DOS Modula-3 will the programs that I write using this be compatible with 
the modula-3 running under unix on DEC stations

Cheers 



Ben


======================================================================= 25 ===
Date:    Thu, 02 Feb 95 09:31:52 MET
From:    marten@feki.toppoint.de (Marten Feldtmann)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <davidt-3101951904510001@192.0.2.1> davidt@netcom.com (David Taylor)
 writes:
>In article <HINSENK.95Jan31152444@cyclone.ERE.UMontreal.CA>,
>hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote:
>
>> In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865
><pegasus1@bnr.ca> writes:
>> 
>>    When in Rome....speak Italian....When in USA, speak English.
>> 
>> Usenet has become quite international. It's not just the USA any more.
>
>True.  There is also the UK, Australia, Canada, etc.  There are also a
>number of non-native-English-speaking peoples who choose to use English
>(not American, by the way) on Usenet so they can communicate their
>ideas and questions to a global audience.
>

 If all the non-native-English-speaking peoples would post in their own
language this would be the death to Usenet ... one should use the native
language in the "local" newsgroups in every country.

 Usenet is now the ideal place for global information interchange ...
and we need one standard for this: one language.

 I'm using my native language all days here in Germany, that's enough.

 And: Usenet is international and the comp.*-hierarchy has nothing to do
with just US. It's becoming (or *is*) worldwide ...

 Marten

--
          Marten Feldtmann, 24143 Kiel, Germany, marten@toppoint.de
             "Deutsche stellen eher die Nahrungsaufnahme ein, 
         als sich beim Urlaub oder Auto einzuschraenken" -- KN, 31.01.95


======================================================================= 26 ===
Date:    2 Feb 1995 15:29:13 GMT
From:    Jeffrey Fries P865 <pegasus1@bnr.ca>
Subject: Re: L'OBJET: A new journal (in French) on object technology.

cjmchale@cs.tcd.ie (Ciaran McHale) wrote:
>
> Jeffrey Fries P865 <pegasus1@bnr.ca> writes:
> >When in Rome....speak Italian....When in USA, speak English.
> 
> And when posting to announce a new journal that is in French, it seems
> reasonable to word the posting in French and prefix it with a short note
> in English to explain why the posting is in French.
> 
> That, by the way, is what Bertrand Meyer (the original poster) did.
> 
> 
> Regards,
> Ciaran.
> -- 
> ---- Ciaran McHale (cjmchale@dsg.cs.tcd.ie)
> \bi/ Dist. Systems Group, Department of Computer Science, Trinity College,
>  \/  Dublin 2, Ireland. Telephone: +353-1-7021539 FAX: +353-1-6772204
> http://www.dsg.cs.tcd.ie:/dsg_people/cjmchale/cjmchale.html
----------------------------------------------------------------------

I guess you know by now that I did not mean to get anyone upset
with me on my initial post. I'm extremely sorry. I don't know what
else to say. I guess, I'm used to watching Star Trek where English
is the universal language. I understand that this is an international
conference. I should be shot for not knowing French.

                                             Sincerest Apologies,
                                             Jeff Fries



======================================================================= 27 ===
Date:    Thu, 2 Feb 1995 20:00:20 GMT
From:    gcorneau@absolu.qc.ca (Gaetan Corneau)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Axel,

>I may understand your grudges against the English speaking part of Canada,
>but please leave this discussion out of *here*.

I did: my point was (and still is) that the header of Mr. Meyer clearly 
mentioned that the message was in french, so if you can't read it, how can the 
journal be of any interest?


--------------------------------------------------------------------
 GAETAN CORNEAU                
 Software designer     
        
 Absolu Technologies inc.     Phone:      (418) 650-5516 
 360 Franquet, suite 70       Fax:        (418) 650-0860 
 Quebec Metro High Tech Park  E-Mail:     gcorneau@absolu.qc.ca
 Sainte-Foy, Quebec, G1P 4N3  Compuserve: 73062,3653@compuserve.com 
 Canada                       
--------------------------------------------------------------------


======================================================================= 28 ===
Date:    2 Feb 1995 11:30:45 GMT
From:    gauthier@unilim.fr (Michel Gauthier)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <1995Feb1.204503.1378@cs.tcd.ie>, cjmchale@cs.tcd.ie (Ciaran
McHale) wrote:

> Jeffrey Fries P865 <pegasus1@bnr.ca> writes:
> >When in Rome....speak Italian....When in USA, speak English.
> 
> And when posting to announce a new journal that is in French, it seems
> reasonable to word the posting in French and prefix it with a short note
> in English to explain why the posting is in French.
> 
> That, by the way, is what Bertrand Meyer (the original poster) did.

Not only I agree with that, but I add another message in French.

We all ought to understand that many people in many countries speak
Spanish or French. 
Other languages are very less widely used (considering the number of countries)
.
It is of professional importance that information be broadcast to everybody
interested to know it. Therefore, conference or journal announces should
normally be given in the conference or journal language. Very few messages are
of this kind. Other talks shall of course be in English. 

People who cannot read the language of announces may skip them if the 
subject field makes explicit that it is not in English, and if a short
introductory note
summariSes (sorry, it's British, not American) the contents.

-- 
Michel Gauthier - Laboratoire d'informatique - 123 avenue Albert Thomas
F-87060 Limoges - fax +33()55457315
----- Are the messages that objects exchange also objects ? -----


======================================================================= 29 ===
Date:    2 Feb 1995 15:53:26 GMT
From:    tenhove@chip.itron.com (Ron Ten-Hove)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

> In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865
<pegasus1@bnr.ca> writes:
> 
>    When in Rome....speak Italian....When in USA, speak English.

When in Canada, as you are, English *and* French are equally acceptable!
If you are one of those anti-Quebec bigots, please take your politics
to one of the appropriate usenet groups!




======================================================================= 30 ===
Date:    Thu, 2 Feb 1995 19:56:25 GMT
From:    gcorneau@absolu.qc.ca (Gaetan Corneau)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Jeff,

>  I posted the original article in jest and I believe now it was taken
>  the wrong way.

>  Come on....there's already too much hate in the world.

Yes, and too much hate on the Net. Don't take it too personal: most people 
don't always remember there are humans at the other end of the wire ;-)




--------------------------------------------------------------------
 GAETAN CORNEAU                
 Software designer     
        
 Absolu Technologies inc.     Phone:      (418) 650-5516 
 360 Franquet, suite 70       Fax:        (418) 650-0860 
 Quebec Metro High Tech Park  E-Mail:     gcorneau@absolu.qc.ca
 Sainte-Foy, Quebec, G1P 4N3  Compuserve: 73062,3653@compuserve.com 
 Canada                       
--------------------------------------------------------------------


======================================================================= 31 ===
Date:    2 Feb 1995 19:49:25 GMT
From:    Allen Ethridge <ethridge@bnr.ca>
Subject: Re: L'OBJET: A new journal (in French) on object technology.

tenhove@chip.itron.com (Ron Ten-Hove) wrote:
>
> > In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865
> <pegasus1@bnr.ca> writes:
> > 
> >    When in Rome....speak Italian....When in USA, speak English.
> 
> When in Canada, as you are, English *and* French are equally acceptable!
> If you are one of those anti-Quebec bigots, please take your politics
> to one of the appropriate usenet groups!
> 
> 

No, he's not in Canada.  He's in Texas.  His gateway is in
Canada.

	allen



======================================================================= 32 ===
Date:    02 Feb 1995 17:56:14 GMT
From:    st@kirk.mlc-ratingen.de (Stefan Tilkov)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3gqnrk$5ck@bambi.zdv.Uni-Mainz.DE> beckmann@Informatik.Mathematik.U
ni-Mainz.DE (Markus Beckmann) writes:

       >From: beckmann@Informatik.Mathematik.Uni-Mainz.DE (Markus Beckmann)
       >Newsgroups: comp.object,comp.software-eng,comp.lang.smalltalk,comp.lang
.eiffel,comp.lang.c++,comp.lang.oberon,comp.lang.modula3,comp.lang.lisp,comp.la
ng.dylan,comp.lang.ada,comp.lang.objective-c,comp.lang.sather,comp.lang.clos,co
mp.databases.object
       >Date: 2 Feb 1995 13:48:36 GMT
       >Organization: Computer Science, Johannes Gutenberg-Universitaet
       >
       >In article <791717512marten.marten@feki.toppoint.de>, marten@feki.toppo
int.de (Marten Feldtmann) writes:
       >|> ...
       >|>  If all the non-native-English-speaking peoples would post in their 
own
       >|> language this would be the death to Usenet ... one should use the na
tive
       >|> language in the "local" newsgroups in every country.
       >|> 
       >|>  Usenet is now the ideal place for global information interchange ..
.
       >|> and we need one standard for this: one language.
       >|> 
       >|>  I'm using my native language all days here in Germany, that's enoug
h.
       >|> 
       >|>  And: Usenet is international and the comp.*-hierarchy has nothing t
o do
       >|> with just US. It's becoming (or *is*) worldwide ...
       >
       >But what is the appropriate newsgroup to reach the "object-community"
       >in Germany, France or ...? It's: comp.object !!! There is no "local"
       >group here in germany for that purpose (as far as I now). And usenet
       >news offers no posibility to "restrict" the distribution of articles
       >to countries or sets of countries.
       >

Come on - do you know a German who is doing SW development and is
unable to communicate in English? Certainly my English isn't good,
but I never had any problems trying to express what I want to say
(well, perhaps nobody ever told me ;-)).

I've got no interest in posting in a language that I know is not
understood by most of the readers. comp.* is international, so 
why not make use of it?





       >+=========================================================+
       >: Markus A. Beckmann               !                      :
       >: Johannes Gutenberg-Universitaet  ! Tel.: 06131/39-4358  :
       >: Institut fuer Informatik         ! Fax : 06131/39-3534  :
       >: Postfach 39 80                   ! i.-nat.: ++49 6131/  :
       >: D-55099 Mainz                    !                      :
       >+---------------------------------------------------------+
       >:   e-mail: beckmann@informatik.mathematik.uni-mainz.de   :
       >+=========================================================+
-- 
	Stefan Tilkov                                MLC Ratingen, Germany
	                                                st@mlc-ratingen.de
	                                        Phone +49 (0) 2102 8506 20
	                                        Fax   +49 (0) 2102 8506 30


======================================================================= 33 ===
Date:    02 Feb 1995 13:28:08 GMT
From:    marcoxa@mosaic.nyu.edu (Marco Antoniotti)
Subject: Re: L'OBJET: A new journal (in French) on object technology.


Maybe we should all revert to more serious international languages,
like Latin or Sanscrit (the first being more economically feasable
since we would not have to reimplement the character set)

Carpe Diem!

Marcus Antoniottis
--
Marco Antoniotti - Resistente Umano
-------------------------------------------------------------------------------
Robotics Lab		| room: 1220 - tel. #: (212) 998 3370
Courant Institute NYU	| e-mail: marcoxa@cs.nyu.edu

...e` la semplicita` che e` difficile a farsi.
...it is simplicity that is difficult to make.
				Bertholdt Brecht


======================================================================= 34 ===
Date:    2 Feb 1995 15:21:04 GMT
From:    sef@CS.CMU.EDU (Scott Fahlman)
Subject: Re: L'OBJET: A new journal (in French) on object technology.


This discussion, as fascinating as it may be to a few of you, does not
belong on 14 technical newsgroups devoted to OO and programmming
languages.  If you really must argue about points of net etiquette or
whether everyone should embrace English as the universal language on
the Internet, please take this to some more appropriate forum or do it
by E-mail among yourselves.  Thank you.  And Merci.

-- Scott

===========================================================================
Scott E. Fahlman			Internet:  sef+@cs.cmu.edu
Principal Research Scientist		Phone:     412 268-2575
School of Computer Science              Fax:       412 268-5576
Carnegie Mellon University		Latitude:  40:26:46 N
5000 Forbes Avenue			Longitude: 79:56:55 W
Pittsburgh, PA 15213			Mood:      :-)
===========================================================================



======================================================================= 35 ===
Date:    2 Feb 1995 13:48:36 GMT
From:    beckmann@Informatik.Mathematik.Uni-Mainz.DE (Markus Beckmann)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <791717512marten.marten@feki.toppoint.de>, marten@feki.toppoint.de (
Marten Feldtmann) writes:
|> ...
|>  If all the non-native-English-speaking peoples would post in their own
|> language this would be the death to Usenet ... one should use the native
|> language in the "local" newsgroups in every country.
|> 
|>  Usenet is now the ideal place for global information interchange ...
|> and we need one standard for this: one language.
|> 
|>  I'm using my native language all days here in Germany, that's enough.
|> 
|>  And: Usenet is international and the comp.*-hierarchy has nothing to do
|> with just US. It's becoming (or *is*) worldwide ...

But what is the appropriate newsgroup to reach the "object-community"
in Germany, France or ...? It's: comp.object !!! There is no "local"
group here in germany for that purpose (as far as I now). And usenet
news offers no posibility to "restrict" the distribution of articles
to countries or sets of countries.

+=========================================================+
: Markus A. Beckmann               !                      :
: Johannes Gutenberg-Universitaet  ! Tel.: 06131/39-4358  :
: Institut fuer Informatik         ! Fax : 06131/39-3534  :
: Postfach 39 80                   ! i.-nat.: ++49 6131/  :
: D-55099 Mainz                    !                      :
+---------------------------------------------------------+
:   e-mail: beckmann@informatik.mathematik.uni-mainz.de   :
+=========================================================+


======================================================================= 36 ===
Date:    Fri, 3 Feb 1995 00:05:06 GMT
From:    chris@gerty.equinox.gen.nz (Christopher Sawtell)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Jeffrey Fries P865 (pegasus1@bnr.ca) wrote:
: gcorneau@absolu.qc.ca (Gaetan Corneau) wrote:
: > >> 
: > >>       Une nouvelle publication en langue francaise, la premiere a notre
: > >> connaissance a etre entierement consacree aux technologies objet, vient
: > >> d'etre creee:

: When in Rome....speak Italian....When in USA, speak English.

Open Letter to Jeffrey Fries:

Whilst you may be in the USA the rest of us are in the world.
The French Prof. Meyer used is not in any way linguistically complex,
and anybody with half an education would understand the gist of his
message. All of his intended audience will have sufficient
French as a second language if not complete fluency as their first.

: Rude...my butt!

Yes your reaction is indeed exceedingly offensive.

Now that you have informed the world that not only are you totally devoid of
simple manners, and any education in the broad sense of the word, you might
care to take time to reflect on the way in which your reactive postings will
affect the opinion of the world not only of you personally but also
of the Nation of which you are a citizen.

--
 +-----------------------------------------------------------------------+
 | NAME   Christopher Sawtell                                            |
 | SNAIL  215 Ollivier's Road, Linwood, Christchurch, 8001. New Zealand. |
 | EMAIL  chris@gerty.equinox.gen.nz                                     |
 | Learn C programming by e-mail. Get the lessons from:-                 |
 |    `svr-ftp.eng.cam.ac.uk:misc/sawtell_C.shar'          Then write    |
 | or `http://hpux.csc.liv/users/workexp/wk/c_arc.html'   for details.   |
 +-----------------------------------------------------------------------+


======================================================================= 37 ===
Date:    2 Feb 1995 13:49:16 -0500
From:    dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

We could of course adopt the most widely spoken artifical language (no
it is not Esperanto, but rather Klingon!)

However, I have just consulted my Klingon dictionary, and am shocked,
shocked to find no entry for Ada. No wonder their moon blew up! Probably
had its control software written in you know what!



======================================================================= 38 ===
Date:    Thu, 02 Feb 1995 14:54:39 -0700
From:    dsawyer@edaccess.randomaccess.com (Dave Sawyer)
Subject: Re: L'OBJET: Enough Already!

Enough with the various arguments about the language newsgroup messages
are written in! By my count, this thread has generated almost two dozen
replys,  all being crossposted to more than a dozen COMPUTER LANGUAGE
newsgroups, and all completely off topic for any of them!

If you want to continue with the thread, please take it to an appropriate
newsgroup.

Thank you.

----------------------------------------------
Dave Sawyer
Senior Systems Engineer
Education Access/Random Access, Inc.
----------------------------------------------
Warning: Opinions contained herein may contain
undetected deviations from the facts
----------------------------------------------


======================================================================= 39 ===
Date:    Fri, 3 Feb 1995 12:34:06 GMT
From:    ccaabaa@ucl.ac.uk (Brian Alston)
Subject: Problems building V 3.4 on IBM RS/6000


I'm having problems building Modula-3 (V3.4) on an IBM RS/6000 running
AIX 3.2.5. I downloaded boot-IBMR2.tar.gz, m3cc.tar.gz and m3.tar.gz
from the archives. I set-up bsdcc as shown in

	./boot-IBMR2/m3build/templates/IBMR2 

and the m3boot and m3ship scripts run without errors. However when I
try and run m3build in the ./m3 directory I get the following output:

---------------------- building m3core ----------------------

--- building in IBMR2 ---
m3 -w1 -why -g -times -a libm3core.a -F/tmp/qkFLyEoVBAAA 


***
*** runtime error:
***    Segmentation violation - possible attempt to dereference NIL
***

bsh: 12532 Abort
*** error code 134 (ignored)
--- shipping from IBMR2 ---
m3mkdir /development/aixv3/lib/m3/pkg/m3core/IBMR2
/development/aixv3/lib/m3/pkg/m3core/IBMR2
   .M3WEB
install: File .M3WEB was not found.
*** error code 1
"/tmp_mnt/nfs/fs-b/isd3/isd3pool/ccaabaa/src/Modula-3/m3/m3core/IBMR2/.M3SHIP",
 
line 282: command execute failed
*** call stack ***
"/tmp_mnt/nfs/fs-b/isd3/isd3pool/ccaabaa/src/Modula-3/m3/m3core/IBMR2/.M3SHIP",
 
line 282: call to built-in exec
"/tmp_mnt/nfs/fs-b/isd3/isd3pool/ccaabaa/src/Modula-3/m3/m3core/IBMR2/.M3SHIP",
 
line 3: call to procedure install_file
m3ship: /development/aixv3/bin/quake failed (status = 256)
*** error code 255
"/tmp_mnt/nfs/fs-b/isd3/isd3pool/ccaabaa/src/Modula-3/m3/src/m3makefile", line 
3
3: command execute failed
*** call stack ***
"/tmp_mnt/nfs/fs-b/isd3/isd3pool/ccaabaa/src/Modula-3/m3/src/m3makefile", line 
3
3: call to built-in exec
"/tmp_mnt/nfs/fs-b/isd3/isd3pool/ccaabaa/src/Modula-3/m3/src/m3makefile", line 
5
4: call to procedure BuildChunk
m3build: /development/aixv3/bin/quake failed (status = 256)

----------------

System details are:

	IBM RS/6000
	AIX:		Version 3.2.5
	xlc:		Version 01.03.0000.0002
	fixed as

Has anyone got Modula-3 working under AIX or got any ideas what I'm
doing wrong? Thanks in advance
-- 
Brian Alston,
User Support,				e-mail:	ccaabaa@ucl.ac.uk
Information Systems Division,
University College London


======================================================================= 40 ===
Date:    3 Feb 1995 16:14:45 GMT
From:    rrw1000@cus.cam.ac.uk (Richard Watts)
Subject: Re: Modula 3 PC -> Modula 3 Unix ??

In article <bf200.9.00151F5D@hermes.cam.ac.uk>,
B. Flynn <bf200@hermes.cam.ac.uk> wrote:
>I am currently doing Modula-3 at university and I am wondering if I FTP the 
>DOS Modula-3 will the programs that I write using this be compatible with 
>the modula-3 running under unix on DEC stations

 Though I haven't tried it, I believe so, mostly - ISTR that the DOS 
implementation(s) have a few things missing (threads being the most obvious,
though I gather they've been implemented now ?) - Trestle springs to mind.
 Nose around src.doc.ic.ac.uk:/computing/programming/languages/modula-3..

 Why not just run the Linux version of SRC M3 ?


Richard.
-- 
`Orac is a computer, like Zen. They react to information, that is all.'
The University of Cambridge can't have these opinions even if it wants them.


======================================================================= 41 ===
Date:    3 Feb 1995 15:33:18 -0600
From:    claird@Starbase.NeoSoft.COM (Cameron Laird)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <791717512marten.marten@feki.toppoint.de>,
Marten Feldtmann <marten@feki.toppoint.de> wrote:
			.
			.
			.
> If all the non-native-English-speaking peoples would post in their own
>language this would be the death to Usenet ... one should use the native
			.
			.
			.
So, did Joel's T-shirt company (or Pat Riley, or
Bill Gates, or any of the other usual suspects)
get around to registering "death to Usenet" as a
proprietary trademark?

Follow-ups trimmed by an octal order of magnitude.
-- 

Cameron Laird		ftp://ftp.neosoft.com/pub/users/claird/home.html
claird@Neosoft.com      +1 713 267 7966
claird@litwin.com       +1 713 996 8546


======================================================================= 42 ===
Date:    3 Feb 1995 17:08:35 -0000
From:    csusb@csv.warwick.ac.uk (Jules)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

>> >> [This message describes the launching of a new journal, in French,
>> >> entirely devoted to object technology.]
>> >> 
>> >>       Une nouvelle publication en langue francaise, la premiere a notre
>> >> connaissance a etre entierement consacree aux technologies objet, vient
>> >> d'etre creee:
>>   
>>    Snip! Snip!
>> 
>> >> Bertrand Meyer - ISE, Santa Barbara, California
>> >> 805-685-1006, fax 805-685-6869, <bertrand@eiffel.com>
>> >> Web home page: http://www.eiffel.com
>> >> ftp://eiffel.com
>> 
>> 
>> >What did ya say ?
>> 
>> >huh ?

It is clearly explained at the start of the article that it is only relevant
to people who can speak French, and therefore putting the rest of the message
in French is certainly acceptable to me.

What I would object to however, is if somebody posted some message that
was relevant to us all in some obscure language (I don't mind French, German
or Spanish, but that's because I can speak all of them ;-)), without any
explanation in English.

As the predominant language on USENet is English, we should all stick to
using English wherever the topic is not limited in interest to only those
who speak some other language.

This is further reinforced by the fact that English is probably the most
widely spoken second language in the world (with Chinese being the most widely
spoken first language) AFAIK - ie many more people will be able to understand
you if you speak English.

If you do not speak English, I would expect you to find USENet unusable
because of the large proportion of posts in English, so I would therefore
expect EVERYBODY using news to understand a post in English.


-- 
/* Julian R Hall				csusb@csv.warwick.ac.uk
   
   Flames should be redirected to /dev/null - I don't know what
   I'm saying myself so don't expect it to make sense all the time!         */


======================================================================= 43 ===
Date:    Fri, 3 Feb 1995 18:30:09
From:    jim.fleming@bytes.com (Jim Fleming)
Subject: Re: L'OBJET: A new journal (in French) on object technology.


>>> >> [This message describes the launching of a new journal, in French,
>>> >> entirely devoted to object technology.]
>>> >> 
>>> >>       Une nouvelle publication en langue francaise, la premiere a notre
>>> >> connaissance a etre entierement consacree aux technologies objet, vient
>>> >> d'etre creee:
>>>   
>>>    Snip! Snip!
>>> 
>>> >> Bertrand Meyer - ISE, Santa Barbara, California
>>> >> 805-685-1006, fax 805-685-6869, <bertrand@eiffel.com>
>>> >> Web home page: http://www.eiffel.com
>>> >> ftp://eiffel.com
>>> 
>>> 

Since we all seem to be in agreement that Internet is International.
Also, since by the year 2050, 50% of the U.S. population will have
Spanish as it's first language. It is clearly time that we take some
time to socialize standard Class names and Method selectors to
determine whether we have any major "faux pas" coming down the
road.

Does anyone know if anybody has done any research in this area?

For example, being born in the U.S. I assume that Integer and String
have translations in most languages. This is not necessarily the case
for class names such as, PanelViewButton.

There are several issues here. One is that if we develop a standard
set of Class names and Method selectors, then we do not want to choose
words that have no mapping in other languages.

Another issue is that we do not want to chose words that have a direct
translation in another language that could be obscene. For example,
what if PanelViewButton in German without translation means "peeping tom".
It may not be desirable for German programmers to be working with an
English system with everyone running around putting peeping toms in
their windows.

Class names, which are usually nouns, are a different problem than method
selectors, which are usually verbs. As many people involved in large
OO efforts have found, the slection and organization of method selectors
is very important. Consistent use of method selectors can improve reuse.
If we have a language where an English verb maps into 6 different verbs
then this may cut down on reuse. Also, we should consider the possibility
that a language may exist where verbs like print, printOn, printIt all map
to one verb.

Has anyone addressed these issues in other large bases of OO software?


Jim Fleming
jim.fleming@bytes.com
Naperville, IL
Tortola, British Virgin Islands



======================================================================= 44 ===
Date:    3 Feb 1995 23:51:55 GMT
From:    ichudov@wiltel.com (Igor Chudov)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

John A. Magdaleno (cooljohn@leland.stanford.edu) wrote in comp.lang.eiffel:
: > 
: > When in Rome....speak Italian....When in USA, speak English.
: > 
: > Rude...my butt!

: What makes you believe that we are all in the United States? And even so,
: there are many people who don't speak English in the United States (or
: very little English)... Spanish and Native American languages...

Nihongo mo ii go de, nihongo e kiite kudasaj. Furansu go ga dekimasen,
rosia go to nihongo go ga sukoshi dekimasu. Meeru san no tegami wa totemo
omoshiroi deshita.

Sayonara,

	- Igor:)


======================================================================= 45 ===
Date:    Fri, 3 Feb 1995 19:34:42 GMT
From:    raible@nas.nasa.gov (Eric Raible)
Subject: Re: L'OBJET: A new journal (in French) on object technology.


Please folks, the horse is still barely recognizable -
please let your feelings about this really interesting
subject be known NOW!

I know for a FACT that there are at LEAST six people who
have not yet posted, selfishly keeping their opinions to
themselves when the rest of us are just DYING to know what
they think.


======================================================================= 46 ===
Date:    3 Feb 1995 08:21:26 GMT
From:    beckmann@Informatik.Mathematik.Uni-Mainz.DE (Markus Beckmann)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <ST.95Feb2185614@kirk.mlc-ratingen.de>, st@kirk.mlc-ratingen.de (Ste
fan Tilkov) writes:
|> In article <3gqnrk$5ck@bambi.zdv.Uni-Mainz.DE> beckmann@Informatik.Mathemati
k.Uni-Mainz.DE (Markus Beckmann) writes:
|> 
|>        >But what is the appropriate newsgroup to reach the "object-community
"
|>        >in Germany, France or ...? It's: comp.object !!! There is no "local"
|>        >group here in germany for that purpose (as far as I now). And usenet
|>        >news offers no posibility to "restrict" the distribution of articles
|>        >to countries or sets of countries.
|> Come on - do you know a German who is doing SW development and is
|> unable to communicate in English? Certainly my English isn't good,
|> but I never had any problems trying to express what I want to say
|> (well, perhaps nobody ever told me ;-)).
|> 
|> I've got no interest in posting in a language that I know is not
|> understood by most of the readers. comp.* is international, so 
|> why not make use of it?

But if you want to announce an workshop on OOSE that will take place
in Germany (or France or Italy) or ... and the "conference" language
will be German (...) and it is addressed to people from ...
why write in English???

And the same with a magazine in French: why announce it in English?
If the "news-readers" do not understand the announcement they will
hardly understand the articles of that mag.

Oder liege ich da vollkommen falsch?

Markus

+=========================================================+
: Markus A. Beckmann               !                      :
: Johannes Gutenberg-Universitaet  ! Tel.: 06131/39-4358  :
: Institut fuer Informatik         ! Fax : 06131/39-3534  :
: Postfach 39 80                   ! i.-nat.: ++49 6131/  :
: D-55099 Mainz                    !                      :
+---------------------------------------------------------+
:   e-mail: beckmann@informatik.mathematik.uni-mainz.de   :
+=========================================================+


======================================================================= 47 ===
Date:    Thu, 2 Feb 1995 15:35:55 GMT
From:    ras@dynastar.princeton.edu (Robert Shillner)
Subject: NetObj stubgen problem

I have the following interface, which declares a network object type
called T:

INTERFACE Obj;
IMPORT NetObj, Thread, I;

TYPE
  T = NetObj.T OBJECT METHODS
    meth(): Rec RAISES {NetObj.Error, Thread.Alerted};
  END;

  Rec = RECORD field: I.T; END;
END Obj.

The interface I declares I.T to be an enumeration:

INTERFACE I;

TYPE T = {Val1, Val2, Val3};

END I.

When I run the stub generator on Obj to produce stubs for Obj.T, I get
a stub module called Obj_T_v1.m3.  This module fails to compile
because it does not import the interface I.  Following is the
m3makefile I used with SRC M3 v3.3:

import		(netobj)
interface	(Obj)
interface	(I)
netobj		(Obj, T)
library		(foo)

I also tried replacing the "netobj" line with netobjr(Obj, T, I) with
no success.  How do I get this to work?

Many thanks.

-- 
***********************************************************************  (___)
* Rob Shillner                  Princeton University Computer Science *  |===|
* ras@cs.princeton.edu              http://www.cs.princeton.edu/~ras/ *   \_/
*********************************************************************** RoboCow


======================================================================= 48 ===
Date:    3 Feb 1995 23:18:59 -0500
From:    dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

 "People who cannot read the language of announces may skip them if the
  subject field makes explicit that it is not in English, and if a short
  introductory note
  summariSes (sorry, it's British, not American) the contents."

Sorry, but the word in British English is summarize, the spelling summarise
is a common mistake (you also find Brits making this error, not only with
this word, but also with similar words, I have even seen finalise).

The spelling with z is the only allowed one. If you need an authority
other than me, try OED second edition, volume XVII, page 170. Interestingly
a number of the citations use the s spelling, but it is not even listed as
an acceptable alternative in the main heading.



======================================================================= 49 ===
Date:    3 Feb 95 14:25:42
From:    dagenais@gutrune.vlsi.polymtl.ca (Michel Dagenais)
Subject: Re: Modula 3 PC -> Modula 3 Unix ??


   I am currently doing Modula-3 at university and I am wondering if I FTP the 
   DOS Modula-3 will the programs that I write using this be compatible with 
   the modula-3 running under unix on DEC stations

Except for the missing graphics library (Trestle, FormsVBT...) the rest should
work. If you install LINUX on your Home PC, however, everything will be
fully compatible.
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 50 ===
Date:    04 Feb 1995 15:32:37 GMT
From:    mfx@cs.tu-berlin.de (Markus Freericks)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3gsp26$81u@bambi.zdv.Uni-Mainz.DE> beckmann@Informatik.Mathematik.U
ni-Mainz.DE (Markus Beckmann) writes:
> But if you want to announce an workshop on OOSE that will take place
> in Germany (or France or Italy) or ... and the "conference" language
> will be German (...) and it is addressed to people from ...
> why write in English???
> 
> And the same with a magazine in French: why announce it in English?
> If the "news-readers" do not understand the announcement they will
> hardly understand the articles of that mag.
> 
> Oder liege ich da vollkommen falsch?
> 
> Markus

Nein, tust Du nicht.

IMHO, the real question is: why would anyone create a new scientific
journal of presumed world-wide interest that is restricted in its language?
One can safely assume that both the audience and the authors of such a
journal can read and write English.

Since the vast amount of written material out there is written in some kind
of English, I have invested the time into learning the language. If
everyone would write in their own language, I coulnd't spare the time to
learn all those languages out there. A lingua france is necessary, and
English is a good choice since it is the first, second or third language
for almost everyone on this planet.

Markus

Markus Freericks          mfx@cs.tu-berlin.de         +49-30-314-21390
TU Berlin Sekr. FR 2-2,  Franklinstr. 28/29,  D-10587 Berlin (Germany)
http://www.cs.tu-berlin.de/~mfx/  "Inertia makes the world go 'round."


======================================================================= 51 ===
Date:    Sat, 4 Feb 1995 22:37:02 +0000
From:    john@argv.co.uk (John Daragon)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3guv7j$l7t@gnat.cs.nyu.edu> dewar@cs.nyu.edu "Robert Dewar" writes:

> Sorry, but the word in British English is summarize, the spelling summarise
> is a common mistake (you also find Brits making this error, not only with
> this word, but also with similar words, I have even seen finalise).
> 
> The spelling with z is the only allowed one. If you need an authority
> other than me, try OED second edition, volume XVII, page 170. Interestingly
> a number of the citations use the s spelling, but it is not even listed as
> an acceptable alternative in the main heading.

I know this has NOTHING to do with software engineering, but as an 
interesting diversion, the "-ise" suffix is recognised both by the OED (
in both the original Murray December 1900 and in vol V of the 1933) 
and the Cambridge Proofreader's Guide (from memory) with a primary meaning 
(OED) : "a frequent spelling of the -ize suffix forming verbs..."

It's my impression that the -ise form is distinctly more common on this
side of the pond.  In fact I can remember using no other. Whaddya mean
_even_ seen finalise ? ;-)

jd.

-- 
John Daragon - argv[0] ltd                     voice: +44 (0)181 743 0999
26 Perryn Road, London  W3 7NA, UK             fax  : +44 (0)181 749 2524
                        [that's ARG-VEE-ZERO...]


======================================================================= 52 ===
Date:    4 Feb 95 20:20:26 MDT
From:    sl65r@cc.usu.edu
Subject: Differences from Modula2 (newbie)

Just what does Modula 3 add to Modula 2?
Is it an OOP language?  Multiple inheritance?  Late and early binding?
Is the import stuff simpler than in Modula 2?
(I really hate having to do  from xxx import yyy.  
 The linker should figure out which yyy's I use if I tell it
 to include the xxx library.)


======================================================================= 53 ===
Date:    Sun, 5 Feb 1995 06:07:55 GMT
From:    mat@mole-end.matawan.nj.us
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <RAIBLE.95Feb3113442@win57.nas.nasa.gov>, raible@nas.nasa.gov (Eric 
Raible) writes:
> 
> Please folks, the horse is still barely recognizable -
> please let your feelings about this really interesting
> subject be known NOW!
> 
> I know for a FACT that there are at LEAST six people who
> have not yet posted, selfishly keeping their opinions to
> themselves when the rest of us are just DYING to know what
> they think.

It's gonna be five, now.  I've been waiting for someone to trot out
this old chestnut:

	In Europe, someone who speaks three languages is trilingual.
	Someone who speaks two languages is bilingual.
	Someone who speaks one language is an American.

'nuff said?
-- 
 (This man's opinions are his own.)
 From mole-end				Mark Terribile
 mat@mole-end.matawan.nj.us, Somewhere in Matawan, NJ
	(Training and consulting in C, C++, UNIX, etc.)


======================================================================= 54 ===
Date:    5 Feb 1995 11:34:33 GMT
From:    rga1002@cus.cam.ac.uk (R.G. Anteleme)
Subject: Help: Imported method writing to a server tbl

I'm developing an application in which 'n' clients write records to a server.
I want to store the records in a table on the server. The clients will be
acting independently; will I need to:

  -  regulate access to the table with a mutex?
  -  a unique exported method for each client? 
  -  understand a whole lot more about XYZ before I continue?


Thanks in advance for any help offered.

Raoul Antelme




======================================================================= 55 ===
Date:    Sun, 5 Feb 1995 03:15:19 GMT
From:    ian@syacus.acus.oz.au (Ian Joyner)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

chris@gerty.equinox.gen.nz (Christopher Sawtell) writes:

>Jeffrey Fries P865 (pegasus1@bnr.ca) wrote:
>: gcorneau@absolu.qc.ca (Gaetan Corneau) wrote:
>: > >> 
>: > >>       Une nouvelle publication en langue francaise, la premiere a notre
>: > >> connaissance a etre entierement consacree aux technologies objet, vient
>: > >> d'etre creee:

>: When in Rome....speak Italian....When in USA, speak English.

>Open Letter to Jeffrey Fries:

>Whilst you may be in the USA the rest of us are in the world.
>The French Prof. Meyer used is not in any way linguistically complex,
>and anybody with half an education would understand the gist of his
>message. All of his intended audience will have sufficient
>French as a second language if not complete fluency as their first.

>: Rude...my butt!

>Yes your reaction is indeed exceedingly offensive.

>Now that you have informed the world that not only are you totally devoid of
>simple manners, and any education in the broad sense of the word, you might
>care to take time to reflect on the way in which your reactive postings will
>affect the opinion of the world not only of you personally but also
>of the Nation of which you are a citizen.

Exactly. This "speak only English" attitude is clearly another example
of the "Ignorance Superhighway"*. C'est une honte! C'est la degradation
de l'esprit humain!

*I have just coined the term "Ignorance Superhighway". Part of this            
 
is a reaction to Bill Gates going on about the "Information Superhighway"     
as if he just invented it. But for the most part it is a reaction against     
the low levels to which internet exchanges have sunk. If I had kids,          
I wouldn't want them to read most of what goes on here.   
-- 
Ian Joyner           |"for when lenity and cruelty play   |All opinions are
Unisys (ACUS)        | for a kingdom, the gentler gamester|personal and are not
ian@syacus.acus.oz.au| is the soonest winner" W.S. Henry V|Unisys official comm
ent


======================================================================= 56 ===
Date:    5 Feb 1995 13:07:49 -0500
From:    dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Well think of it this way. They say in the advertising world that ANY
mention of your product, in ANY context is helpful. If that is true, this
journal has received splendid publicity in this newsgroup. Maybe some people
will learn French for the occasion!



======================================================================= 57 ===
Date:    5 Feb 1995 21:25:53 -0500
From:    dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

WARNING: this thread has departed from relevance to its origins, delete now
if you demand relevance :-)

It is indeed true that the -ise suffix has been frequently used (in fact even
in OED II, the quotations nearly all, and I think in the case of summarize,
*all* use the -ise suffix).

Nevertheless the main entry for both finalize and summarize inclues only
the z spelling (and as you can see from the quote from the old OED, even
there the ise spelling is considered the variant).

Of course in practice it is silly to say that the -ise spelling is wrong (I
did my previous post for surprise value). I first found this view of the OED
when John Barnes asked me if OED II *permitted* the ize spelling (ATTENTION
ATTENTION, minor programming language relevance).

He was *quite* surprised by the answer :-)

What the OED II spelling does say however, is that contrary to the impression
of many British writers, and of the original poster, there is nothing wrong
or un-British about using the ize suffix, and when we talk of finalization
in Ada, we may as well stick to the -ize suffix, even in English writing,
lessening the chance that some poor British Ada programmer will try to
override the Finalise primitive subprogram of controlled types.



======================================================================= 58 ===
Date:    5 Feb 1995 22:45:58 -0600
From:    patrickc@fohnix.metronet.com (Patrick Conroy)
Subject: How do you use m3gdb?!?

I'm struggling trying to figure out "m3gdb".  After I type "m3gdb foo",
I get popped into "C" source code.  I type "set language m3" and then
set a breakpoint at "MM_RTLinker.main()".

I say "run", and I stop at the breakpoint...
	...and then what???

I can't step into the Modula-3 code.

I was guessing that I'd be looking at my Modula-3 source code.
Was I wrong?

PS: I'm passing -g into to "m3" via m3build

-- 
-------------------------------------------------
Patrick Conroy		patrickc@metronet.com
(w) 214.791.8650	patrick.conroy@sprint.sprint.com
(f) 214.791.8953	Dallas, Texas  :: 9a-5p CST


======================================================================= 59 ===
Date:    06 Feb 1995 01:48:26 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: ANSWER: why @M3showthreads was not working.

The cause of the problem was somewhat removed from where I was
looking, and it didn't dawn on my until this evening when I tried to
write some netobj code.

When the netobj test programs (in the netobj directory) did not work,
it dawned on me that they are probably affected by the same bug that
caused File IO to not work (read()s blocked the whole M3 program):

Bill Kalsow had replied to one of my messages:

> Yes, the fix is to set
>    M3_NONBLOCK = O_NDELAY
> in m3core/src/unix/sunos-4-x/Unix.i3.

Of course, TCP connections also used this flag to set themselves
non-blocking (in TCP.m3), so netobj programs won't work.  

After performing the above change and recompiling the m3 distribution
things work.  I now have windows pop up when I specify the
@M3showthead and similar options.



--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 60 ===
Date:    6 Feb 1995 05:02:12 GMT
From:    jenkins@louie.udel.edu (Marcelo Jenkins)
Subject: Modula 3 compilers

Are there any (comercial or public domain) Modula 3
compilers for DOS/Windows or RS/6000?

   Marcelo Jenkins

-- 
Marcelo Jenkins


======================================================================= 61 ===
Date:    Mon, 6 Feb 1995 06:58:07 +0000
From:    andy@bridle.demon.co.uk (andy bridle)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <1995Feb5.060755.3924@mole-end.matawan.nj.us>
           mat@mole-end.matawan.nj.us  writes:
> > 
> > I know for a FACT that there are at LEAST six people who
> > have not yet posted, selfishly keeping their opinions to
> > themselves when the rest of us are just DYING to know what
> > they think.
> 
> It's gonna be five, now.
... and now it`s down to four, and just to take the discussion 
even further from the group`s subject . . . COBOL, a truly 
international language, accepts both the INITIALISE and 
INITIALIZE verbs.
-- 
andy bridle
email: andy@bridle.demon.co.uk
tel: (0270) 877527


======================================================================= 62 ===
Date:    6 Feb 95 09:50:57
From:    dagenais@notung.vlsi.polymtl.ca (Michel Dagenais)
Subject: Re: How do you use m3gdb?!?


   I'm struggling trying to figure out "m3gdb".  After I type "m3gdb foo",
   I get popped into "C" source code.  I type "set language m3" and then
   set a breakpoint at "MM_RTLinker.main()".

   I say "run", and I stop at the breakpoint...
	   ...and then what???

   I can't step into the Modula-3 code.

Are your libraries compiled with "-g", have you specified a path to your
code and to the libraries source code...

An example of using the debugger may be found in a document of mine under
construction, available at the unannounced WWW address:

http://www.vlsi.polymtl.ca/dagenais/if515/main/main.html

in the chapter Run time libraries and tools.
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 63 ===
Date:    6 Feb 1995 16:34:01 GMT
From:    kalsow@src.dec.com (Bill Kalsow)
Subject: SRC Modula-3 version 3.5

Version 3.5 of SRC Modula-3 is now on gatekeeper:

   ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.5

This release includes:

   - fixes for the installation bugs in version 3.4
   - an untested Linux/ELF bootstrap
   - a backend, m3cc, based on gcc 2.6.3
   - a persistent objects library, stable, and stub generator, stablegen.
   - a simple drawing editor for Windows/NT.

Except for the change from gcc 2.5.7 to 2.6.3, this would be a very
stable release.  Please let send bug reports to m3-request@src.dec.com.

  - Bill Kalsow





======================================================================= 64 ===
Date:    6 Feb 1995 20:32:39 GMT
From:    wobber@src.dec.com (Ted Wobber)
Subject: Re: NetObj stubgen problem

In article <1995Feb2.153555.18464@Princeton.EDU>, ras@dynastar.princeton.edu (R
obert Shillner) writes:

|> When I run the stub generator on Obj to produce stubs for Obj.T, I get
|> a stub module called Obj_T_v1.m3.  This module fails to compile
|> because it does not import the interface I.  Following is the
|> m3makefile I used with SRC M3 v3.3:

Sounds like a bug in the stub generator.  I'll look into it.

For the time being, you can easily work around this by adding an garbage
method declaration yo your object which returns a plain B.T (instead of
one in a locally defined RECORD.  This will cause B to be imported.

Ted Wobber
DEC SRC



======================================================================= 65 ===
Date:    6 Feb 1995 13:11:08 -0600
From:    claird@Starbase.NeoSoft.COM (Cameron Laird)
Subject: The "Distribution:" field (was: L'OBJET: A new journal (in French) on 
object technology.)

In article <3gqnrk$5ck@bambi.zdv.Uni-Mainz.DE>,
Markus Beckmann <beckmann@Informatik.Mathematik.Uni-Mainz.DE> wrote:
			.
			.
			.
>group here in germany for that purpose (as far as I now). And usenet
>news offers no posibility to "restrict" the distribution of articles
>to countries or sets of countries.
			.
			.
			.
Paragraph "2.2.7. DISTRIBUTION", of "RFC1036: Standard for
Interchange of USENET Messages", available as
 
  http://info.cern.ch/hypertext/WWW/Protocols/rfc1036/rfc1036.html

does indeed specify just such a mechanism.  Its realization
has always been problematic.  Apparently a minority of
posters are aware of it.

The distribution of this message is "world".

I've trimmed follow-ups severely.
-- 

Cameron Laird		http://starbase.neosoft.com/~claird/home.html
claird@Neosoft.com      +1 713 267 7966
claird@litwin.com       +1 713 996 8546


======================================================================= 66 ===
Date:    6 Feb 1995 17:21:26 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: Any idea why this would cause stubgen to dump core?



I have an interface, and I wanted to make it into a netobj (as a
test).

So, I put

	netobj(Logitech,Public)

in my m3makefile, and m3build (on SPARC) dutifully ran stubgen:

stubgen -sno Logitech.Public   -T.M3IMPTAB
stubgen: Processing Logitech.Public


***
*** runtime error:
***    Exception "StubUtils.Error" not in RAISES list
***

sh: 13266 Abort - core dumped
*** error code 134


Any ideas why it would dump core?  With @M3stackdump added, I get 
------------------ EXCEPTION HANDLER STACK ---------------------
0xefffe4a8 RAISES {}
0xefffe780 RAISES {}
0xefffea30 RAISES {}
0xefffed80 RAISES {}
0xefffee88 RAISES {}
0xefffefa8 RAISES {}
----------------------------------------------------------------

which doesn't seem terribly useful.

Here's the interface, if that helps.

(*
* Logitech.i3 -- the interface to the logitech
* Copyright (C) Blair MacIntyre 1995
* Author          : Blair MacIntyre
* Created On      : Thu Jan 19 17:38:38 1995
* Last Modified By: Blair MacIntyre
* Last Modified On: Mon Feb  6 17:05:55 1995
* Update Count    : 48
* Status          : Unknown, Use with caution!
*
* $Source$
* $Date$
* $Author$
* $Revision$
*
* $Log$
*
* HISTORY
*)

INTERFACE Logitech;

IMPORT OSError, Quaternion, Pathname, GraphicsTypes, Thread, Wr, NetObj;

TYPE
  T <: Public;
  Public = NetObj.T
    OBJECT
    METHODS
      (* turn on demand reporting.  Only return info when I request it! *)
      demandReporting () RAISES {OSError.E, NetObj.Error, Thread.Alerted};
      (* turn on streaming reporting *)
      streamReporting () RAISES {OSError.E, NetObj.Error, Thread.Alerted};
      (* enable the transmitter *)
      enableTransmitter () RAISES {OSError.E, NetObj.Error, Thread.Alerted};
      (* disable the transmitter *)
      disableTransmitter () RAISES {OSError.E, NetObj.Error, Thread.Alerted};
      (* turn on incremental reporting *)
      incrementalReporting () RAISES {OSError.E, NetObj.Error, Thread.Alerted};
      (* calculate a string with the usage statistics *)
      calculateStatistics (): TEXT RAISES {NetObj.Error, Thread.Alerted};
      (* set the filter count *)
      setFilterCount (f: FilterCount) RAISES {OSError.E, NetObj.Error,
                                              Thread.Alerted}; 
      (* reset the logitech *)
      (* NOTE: DO NOT CALL From an Exitor.  It calls Thread.Pause() to give
         the logitech time to reset.  This will cause your exitor to
         barf. *)
      reset () RAISES {OSError.E, Wr.Failure, NetObj.Error, Thread.Alerted};

      (* actions similar to File.T.  Possible return values: -1: tracker is
         out of range.  0: end of file on the input port.  1: value
         report *)
      read (VAR (*OUT*) t: TrackerPosition): ReadResult
            RAISES {OSError.E, NetObj.Error, Thread.Alerted};
      close () RAISES {OSError.E, NetObj.Error, Thread.Alerted};
    END;

  ReadResult = {OutOfRange, Success, EOF};

  (* Possible values for the filter count *)
  FilterCount = [1 .. 10];

  (* The TrackerPosition RECORD is the position and orientation of the
     tracker *)
  TrackerPosition =
    RECORD
      (* information bits *)
      fringe: BOOLEAN := FALSE;  (* is it in the fringe area *)
      out   : BOOLEAN := FALSE;  (* is it out of range *)

      (* the position of the tracker *)
      position  : GraphicsTypes.Vector;  (* position *)
      rotation_q: Quaternion.T;          (* orientation *)
      rotation_m := GraphicsTypes.Matrix{
                      GraphicsTypes.Vector{1.0D0, 0.0D0, 0.0D0, 0.0D0},
                      GraphicsTypes.Vector{0.0D0, 1.0D0, 0.0D0, 0.0D0},
                      GraphicsTypes.Vector{0.0D0, 0.0D0, 1.0D0, 0.0D0},
                      GraphicsTypes.Vector{0.0D0, 0.0D0, 0.0D0, 1.0D0}};
      (* buttons *)
      suspend: BOOLEAN := FALSE; (* suspend button *)
      left   : BOOLEAN := FALSE; (* left button *)
      middle : BOOLEAN := FALSE; (* middle button *)
      right  : BOOLEAN := FALSE; (* right button *)
    END;

PROCEDURE OpenLogitech (p: Pathname.T): T
  RAISES {OSError.E, Wr.Failure, Thread.Alerted};
(* Return an object permitting writing and reading an existing or
   newly-created file named "p".  Obviously, "p" should be a device
   corresponding to a serial port connected to a logitech Tracker. *)

END Logitech.


======================================================================= 67 ===
Date:    Mon, 6 Feb 1995 19:17:33 +0000
From:    Fazl@hadronic.demon.co.uk (Fazl Rahman)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3guv7j$l7t@gnat.cs.nyu.edu> dewar@cs.nyu.edu "Robert Dewar" writes:
> [deletia]
> Sorry, but the word in British English is summarize, the spelling summarise
> is a common mistake (you also find Brits making this error, not only with
> this word, but also with similar words, I have even seen finalise).
> 
> The spelling with z is the only allowed one. If you need an authority

Incorrect, see below.

> other than me, try OED second edition, volume XVII, page 170. Interestingly
> a number of the citations use the s spelling, but it is not even listed as
> an acceptable alternative in the main heading.

Chambers English Dictionary (Chambers: Edinburgh, New York, Toronto) (1992)
has the following two relevant entries:

finalise, -ize (to put the finishing touches to: to put an end to completely.)
summ'arise, -ize (to present in a summary or briefly.)

I note in both these cases the -ise form is given first priority.

Sorry to rain on your pronouncements  :-)

-- 
Fazl Rahman                 |
fazl@hadronic.demon.co.uk   |
(+44 or 0) 171 328 9080     |
1 Barrett Hse, NW6 6QG, UK  |


======================================================================= 68 ===
Date:    6 Feb 1995 19:48:37 GMT
From:    paul@meed47.ee.man.ac.uk (Paul Floyd)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In <3gufir$57f@gateway.wiltel.com>, ichudov@wiltel.com (Igor Chudov) writes:
>John A. Magdaleno (cooljohn@leland.stanford.edu) wrote in comp.lang.eiffel:
 
>: > When in Rome....speak Italian....When in USA, speak English.
 
>: > Rude...my butt!

>: What makes you believe that we are all in the United States? And even so,
>: there are many people who don't speak English in the United States (or
>: very little English)... Spanish and Native American languages...

>Nihongo mo ii go de, nihongo e kiite kudasaj. Furansu go ga dekimasen,
>rosia go to nihongo go ga sukoshi dekimasu. Meeru san no tegami wa totemo
>omoshiroi deshita.

>Sayonara,

>	- Igor:)

Merde alors!

My (only) comment is: please stop this. Has anyone noticed that this futile
thread is crossposted to about 20 groups!!!
--
Paul Floyd, Information Storage Research Group, Division of Electrical
Electrical Engineering, School of Engineering, University of Manchester
Edification - the process of changing your name to be "Edward"
paul@meed47.ee.man.ac.uk http://meed47.ee.man.ac.uk/paul.html
mbhpfpj@meehpc.ee.man.ac.uk mbhpfpj@fs1.ee.man.ac.uk



======================================================================= 69 ===
Date:    07 Feb 1995 01:23:21 GMT
From:    paule@merlin.noname (Paul English)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3h41bh$f4r@gnat.cs.nyu.edu> dewar@cs.nyu.edu (Robert Dewar) writes:
> 
> WARNING: this thread has departed from relevance to its origins, delete now
> if you demand relevance :-)

Still irrelevant... ;)

[discussion of what OED II says about -ise and -ize deleted]

> What the OED II spelling does say however, is that contrary to the impression
> of many British writers, and of the original poster, there is nothing wrong
> or un-British about using the ize suffix, and when we talk of finalization
> in Ada, we may as well stick to the -ize suffix, even in English writing,
> lessening the chance that some poor British Ada programmer will try to
> override the Finalise primitive subprogram of controlled types.

OK, now for the Australian perspective.

>From the Macquarie Student Writers Guide:

---- begin quote ----
-ise/-ize:
Many words can be spelled with either -ise or -ize at the end.  For
the sake of consistency, you should decide to use either -ise or -ize
in all such words.

In the past, people have sometimes argued for one spelling or the
other in a particular word because of its history.  But the arguments
are never clear-cut, and it is simpler to spell all one way or the
other.  Still, there are one or two points to note.

1.  If you choose -ise, as Australian newspapers and most government
offices do, you can use it in every case except capsize.  It is the
only exception.

2. If you choose -ize as most Americans and some Britons and
Australians do, you have to remember quite a large number of
exceptions.  There can, for example, be no -ize in:
	advise		chastise	comprise	compromise
	demise		devise		despise		enterprise
	exercise	improvise	revise		surprise
	supervise	televise

Because there are so many words which must take -ise, it is easier to
use -ize everywhere.

---- end quote ----

So there you have it, depending on your perspective it is less a
matter of right and wrong, and more a matter of either efficiency or
laziness! ;)  Now that's settled we return to your usual programming.

For the record the Australian dictionaries I use consistently prefer
-ise, although some give -ize as an acceptable alternative.  My spell
checker will only accept -ise.

Cheers,

Paul.

-- 
 ,-_|\     | Paul English (p.english@nepean.uws.edu.au) =-=-=-=-=-=-=-=-=-=
/     \    | Associate Lecturer      | PO Box 10      | Ph:  +61 47 36 0607 
\_.--_/ <- | Department of Computing | Kingswood 2747 | Fax: +61 2 678 5570 
     v     | UWS - Nepean            | NSW, AUSTRALIA |
<a href=http://www.st.nepean.uws.edu.au/~paule>My WWW Home Page</a>


======================================================================= 70 ===
Date:    7 Feb 1995 00:31:26 GMT
From:    pbm1001@cam.ac.uk (Paul Menage)
Subject: Documentation/Tutorial for m3tk

I am interested in learning how to use m3tk, but have found the
interfaces to the package a little unhelpful when getting started. Can
anyone suggest any kind of proper documentation or tutorial that I
should look at ? I have read the SIGSoft '90 article by Mick Jordan,
which explained what m3tk does, but not really how to use it.

Thanks,

Paul

-- 
Paul Menage        Magdalene College, Cambridge      pbm1001@cam.ac.uk
'One of its satellites, a green and insignificant planet, is now dead'


======================================================================= 71 ===
Date:    Mon, 6 Feb 1995 19:31:41 GMT
From:    mat@mole-end.matawan.nj.us
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3h06di$iqe@news.cs.tu-berlin.de>, mfx@cs.tu-berlin.de (Markus Freer
icks) writes:
> In article <3gsp26$81u@bambi.zdv.Uni-Mainz.DE> beckmann@Informatik.Mathematik
.Uni-Mainz.DE (Markus Beckmann) writes:
> > But if you want to announce an workshop on OOSE that will take place
> > in Germany (or France or Italy) or ... and the "conference" language
> > will be German (...) and it is addressed to people from ...
> > why write in English???

> > And the same with a magazine in French: why announce it in English?
> > If the "news-readers" do not understand the announcement they will
> > hardly understand the articles of that mag.

> > Oder liege ich da vollkommen falsch?
 
> Nein, tust Du nicht.
 
> IMHO, the real question is: why would anyone create a new scientific
> journal of presumed world-wide interest that is restricted in its language?
> One can safely assume that both the audience and the authors of such a
> journal can read and write English.
> 
> Since the vast amount of written material out there is written in some kind
> of English, I have invested the time into learning the language. If
> everyone would write in their own language, I coulnd't spare the time to
> learn all those languages out there. A lingua france is necessary, and
> English is a good choice since it is the first, second or third language
> for almost everyone on this planet.

The vast majority of chemical engineers do not speak German, even though
German is the language of chemistry (or was, if I have my history right).

The pure sciences, with their limited communities, have retained the
tradition of a `universal' language, just as the Church retained Latin
through the middle ages and into the modern era.

Before Gutenberg and before widespread education, there was no way to
translate and reproduce books widely enough to pay for the translation
and the making of each copy.  Since university education became widespread,
this has changed in the professions (especially engineering) but not in
the pure sciences.

As we go from `computer science' to something like a real engineering
discipline, it will become economical--and useful--to translate important
articles and to disseminate information in a variety of languages.

It's true that I, as a typical monolingual (unilingual?) American, will be
moderately put out to see things that I cannot make sense of--but that's my
problem, especially considering the advantage I already have in speaking
English from my earliest years.
-- 
 (This man's opinions are his own.)
 From mole-end				Mark Terribile
 mat@mole-end.matawan.nj.us, Somewhere in Matawan, NJ
	(Training and consulting in C, C++, UNIX, etc.)


======================================================================= 72 ===
Date:    Tue, 7 Feb 1995 15:08:22 -0500
From:    douglm@rpi.edu
Subject: Building 3.5 on SPARC

During the m3boot process I get to building m3 and then I get:

ld: ../../m3front/SPARC/libm3front.a(DivExpr_m.o): base relative static
symbol(_MM_DivExpr) botch
*** error code 4

Anything I can do to get around this?





======================================================================= 73 ===
Date:    Tue, 7 Feb 1995 15:28:27
From:    olivo@iss.nus.sg (Olivo Miotto)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3gtnuj$78q@cayenne.csv.warwick.ac.uk> csusb@csv.warwick.ac.uk (Jule
s) writes:

>If you do not speak English, I would expect you to find USENet unusable
>because of the large proportion of posts in English, so I would therefore
>expect EVERYBODY using news to understand a post in English.

Historically, it is so, but only because so far Internet has almost been 
confined to the USA, and to an English-speaking audience. This is changing, 
and we can certainly expect a lot more activity, especially in newsgroups 
located outside English-speaking countries, taking place in foreign languages. 
It is probably true that this will lead to a usage of Internet which is very 
different from the current one.

And no, Internet is not unusable to those who cannot speak English, just more 
limited.

Olivo

-----------------------------------------------------
Olivo Miotto	(olivo@iss.nus.sg)
Institute of Systems Science,
National University of Singapore,
Heng Mui Keng Terrace,             Tel: +65-772 6644
Singapore 0511.                    Fax: +65-778 2571


======================================================================= 74 ===
Date:    7 Feb 1995 15:07:02 -0500
From:    dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Fazl: few people would consider Chambers to be an authority to the extent
that the OED is accepted. The OED is the nearest thing Britain has to an 
"Academie Anglaise", I bet Chambers even permits the misuse of moot :-)



======================================================================= 75 ===
Date:    7 Feb 1995 23:09:17 GMT
From:    ichudov@wiltel.com (Igor Chudov)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

Robert Dewar (dewar@cs.nyu.edu) wrote in comp.lang.eiffel:

: It is indeed true that the -ise suffix has been frequently used (in fact even
: in OED II, the quotations nearly all, and I think in the case of summarize,
: *all* use the -ise suffix).

What does it have to do with comp.lang.eiffel, comp.lang.lisp or 
comp.object? Now, let's stop it, it is not funny anymore. Pleeez...

	- Igor.


======================================================================= 76 ===
Date:    Mon, 6 Feb 1995 22:39:31 +0000
From:    Andy@hps1.demon.co.uk (Andy Robinson)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

> Nihongo mo ii go de, nihongo e kiite kudasaj. Furansu go ga dekimasen,
> rosia go to nihongo go ga sukoshi dekimasu. Meeru san no tegami wa totemo
> omoshiroi deshita.
> 
> Sayonara,
> 
>         - Igor:)
> 

Watashi ga shiritai no wa, nihongo de 'Object-oriented' wa nan to iimasu ka?

-- 
Andy Robinson
andy@hps1.demon.co.uk


======================================================================= 77 ===
Date:    Wed, 8 Feb 1995 11:16:49 -0500
From:    douglm@rpi.edu
Subject: ld error message building SPARC M3 v3.5

In my previous message I wrote
>
>During the m3boot process I get to building m3 and then I get:
>
>ld: ../../m3front/SPARC/libm3front.a(DivExpr_m.o): base relative static
>symbol(_MM_DivExpr) botch
>*** error code 4
>
I've tried a number of things since with no success. It seems there is
nothing special about the symbol however. I tried reordering the libraries
in the final link of m3 and get the same message for a different symbol.

Is it possible that we have exceeded some inbuild ld size limitation?





======================================================================= 78 ===
Date:    Wed, 8 Feb 1995 17:14:00 GMT
From:    percy@xpgalli.dwp.la.ca.us(Percy Galliguez)
Subject: Where is the FAQ?

I just read Sam Harbison's article "The Modula-3 Programming 
Language" in Dr. Dobbs Journal Winter 1994.  I would like to read
more about the language and am aware of Harbison's book 
copyrighted in 1992.  Before I go and buy it, I would like to 
read the FAQ of comp.lang.modula3.  My programming background is 
procedural, Pascal and Fortran, and in the process of learning 
OOP.  I'm strongly looking into Smalltalk/V for learning OOP. 
Since I only have email and Usenet access, could someone post or 
UUENCODE the FAQ for me?  If there is no FAQ, how about a
charter? For someone new to OOP, would you suggerst modula-3?


Thanks for any help offered,
Percy Galliguez            email: percy@xpgalli.dwp.la.ca.us
Los Angeles Dept. of Water & Power
Energy Control Center - Computer Software Group



======================================================================= 79 ===
Date:    08 Feb 1995 04:10:00 GMT
From:    bm@play.cs.columbia.edu (Blair MacIntyre)
Subject: Re: SRC Modula-3 version 3.5

I hope everyone else is having better luck.

>>>>> On 6 Feb 1995 16:34:01 GMT, kalsow@src.dec.com (Bill Kalsow) said:

Bill> Version 3.5 of SRC Modula-3 is now on gatekeeper:
Bill>    ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.5

Well, I fetched the following versions:
 SPARC, SOLgnu, SOLsun, HPPA, IRIX5

I've mentioned some of this to Bill, but I thought I'd throw it out
there for others as well.

SPARC: won't compile for me, at all.  I get the following error when I try
  linking m3 in the boot distribution:
---- building m3 ----
/bin/cc -o m3 _m3main.o M3Backend_i.o M3BackPosix_m.o Arg_i.o Arg_m.o Msg_i.o M
sg_m.o M3Path_i.o M3Path_m.o Unit_i.o Unit_m.o Utils_i.o Utils_m.o WebFile_i.o 
WebFile_m.o Main_m.o ../../m3front/SPARC/libm3front.a ../../m3linker/SPARC/libm
3link.a ../../m3middle/SPARC/libm3middle.a ../../libm3/SPARC/libm3.a ../../m3co
re/SPARC/libm3core.a -lm
ld: ../../m3front/SPARC/libm3front.a(DivExpr_m.o): base relative static symbol(
_MM_DivExpr) botch

SOLgnu: there is a problem with as that prevents use of shared
libraries.  So, I can't use it yet (since I really can't use static
linking).  Not sure if this is fixable or not.  But, perhaps I can
use SOLsun eventually ...

SOLsun: my sites Sun cc compiler (v2.0.1) isn't installed correctly
(or perhaps was never installed correctly).  In any event, /usr/ucb/cc
doesn't work.  Sun cc v3.0x doesn't seem to work with SOLsun.

HPPA: doesn't seem to work.  The boot compiles, but if I try to
compile the m3core in the m3.tar.gz distribution, it fails compiling
Text.i3, with the error:

new source -> compiling ../src/text/Text.i3
multiple definitions: Word.T implemented by:
   Word.i3
   Text.i3

Yikes!  This exact source compiles with the 3.4 m3 compiler, but I'm not
sure how to go about modifying the m3makefile so that I can compile
the new compiler with the old one and get it installed in the correct
place ....

IRIX5: m3cc didn't compile right off, but by removing the options from
the actual call to make (which overrode cc and thus caused various
tests of "OLDCC"="CC" to fail, which caused it to not link in the
included alloca) things seemed to go better.  It's reached the m3tk
directory of the m3 source, so it looks to be doing ok.

i.e.

 % finally, compile it
 %exec ("cd", build_dir, ";", M3CC_MAKE,
 %       format ("CC=\"%s\" CFLAGS=\"%s\"", M3CC_CC, M3CC_CFLAGS), pgms)
 exec ("cd", build_dir, ";", M3CC_MAKE, pgms)

So, all in all, a very frustrating day.  But, at least one version
compiled :-).
--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 80 ===
Date:    Tue, 7 Feb 1995 11:46:20 GMT
From:    lalbers@dozy.hrz.uni-bielefeld.de ( Leif Albers)
Subject: Adding Colors to Emacs with Modula-3

Hello out there,

  I use XEmacs (19.11) for programming in Modula-3. There Exists a package call
ed
font-lock.el (or similar) which adds different fonts and colors for special par
ts
of the text (keywords, function names, comments, etc.). This really helps readi
ng
the structure of a program (as I know form programming C).  Did anyone get this
package to work together with Modula-3-mode? If yes, what do I need to change i
n
order to make it work?

Thanks in advance, Leif



======================================================================= 81 ===
Date:    08 Feb 1995 04:03:39 GMT
From:    c-goetze@u-aizu.ac.jp (Christian F. Goetze)
Subject: Re: L'OBJET: A new journal (in French) on object technology.

In article <3gufir$57f@gateway.wiltel.com> ichudov@wiltel.com (Igor Chudov) wri
tes:

   : What makes you believe that we are all in the United States? And even so,
   : there are many people who don't speak English in the United States (or
   : very little English)... Spanish and Native American languages...

   Nihongo mo ii go de, nihongo e kiite kudasaj. Furansu go ga dekimasen,
   rosia go to nihongo go ga sukoshi dekimasu. Meeru san no tegami wa totemo
   omoshiroi deshita.

You are evading the central issue: You have to choose between EUC, JIS or
unicode! Your solution would shock the average japanese :)

--

<A HREF="http://www.u-aizu.ac.jp/brochure/SW/c-goetze.html">cg</A>


======================================================================= 82 ===
Date:    9 Feb 1995 04:52:17 -0500
From:    ccapc@cyber.sell.com (Consumer Credit Advocates)
Subject: <ad> GUARANTEED CREDIT REPAIR BY LAW FIRM

Consumer Credit Advocates, PC
11 Pennsylvania Plaza, Suite 2101
New York, NY  10001
(212) 629-5261 (telephone)  (212) 629-4762 (fax)
E-MAIL: ccapc@cyber.sell.com

Our LAW FIRM offers direct guaranteed effective credit
restoration services by experienced attorneys.  THIS IS
NOT A DO-IT-YOURSELF KIT.

What can we do?

We have successfully facilitated the removal of Late
Payments, Charge-offs, Foreclosures, Repossessions,
Collection Accounts, Loan Defaults, Tax Liens, Judgments
and Bankruptcies from our clients' credit reports.  WE
GUARANTEE THAT YOUR CREDIT CAN BE RESTORED!!!

Who needs our services?

Anyone who has experienced the inconvenience and
embarrassment of being turned down for a credit card, a
lease or a purchase of an automobile.

Anyone who is unable to buy the house of their dreams
due to denial of a mortgage application or who has to
pay thousands of dollars more in mortgage interest than
someone with good credit.

Anyone who has been turned down for a job or promotion
due to derogatory credit items on a credit report.

Anyone in business who has lost a deal because a person
or firm wanted to see his/her credit report before
doing business.

Anyone who has been unable to establish credit.


THE FOUR GREAT MYTHS OF CREDIT:

Myth #1:  It is illegal or immoral to have your credit
report cleared.

     Fact:  It is not illegal nor immoral.  In fact,
     that is what the Fair Credit Reporting Act is all
     about.  The act was enacted by Congress in 1971.
     One of its purposes as to give consumers the
     protection of the law and to help guard against
     any unwarranted invasion of a consumer's right to
     privacy.
     
Myth #2: The information on a credit report cannot be
changed.

     Fact:  Actually, the opposite is true under the
     Fair Credit Reporting Act.  Federal and State laws
     require that items be removed if they are not 100%
     accurate or cannot be verified in a timely
     manner.
     
Myth #3: It is impossible to get a bankruptcy off a
credit report.

     Fact: Bankruptcies can come off credit reports
     like any other derogatory item.  The nature of the
     derogatory item has nothing to do with its removal
     under the Fair Credit Reporting Act.
     
Myth #4: Credit Reporting Agencies are empowered with
some kind of governmental authority.

     Fact: Absolutely Not!!  They are simply large
     corporations whose primary goal is to make a
     profit like any other business.
     

If you have ever applied for or received credit, a file
exists in one or more of the credit bureaus.  These
companies collect, store and distribute as much credit
information as they can find, retaining negative
information on a credit report for 7 to 10 years.  This
information is evaluated by potential creditors to
determine your credit worthiness.

Credit reporting agencies are in business to protect
the interests of the creditors.  the LAW FIRM's goal is
to help and protect the individual consumer from
inaccurate credit reporting.

The president of our LAW FIRM has been practicing
consumer law since 1984. The staff of our firm has
successfully processed, disputed and challenged
thousands of client credit reports.

Our legal fee is based o the number of negative items
that appear on a client's credit reports, issued b the
three national credit bureaus.  Our retainer agreement
offers a MONEY BACK GUARANTEE stating that if any
negative item is not deleted, upgraded or corrected
from a client's credit file, it will give the client a
full refund for that item or continue to process the
client's file at no additional fee until that item is
corrected, upgraded or deleted.  THE ONLY THING YOU
HAVE TO LOSE IS YOUR BAD CREDIT!!

PLEASE CONTACT THE LAW FIRM AND LEAVE YOUR FULL NAME,
MAILING ADDRESS AND TELEPHONE NUMBER SO WE MAY FORWARD
FURTHER INFORMATION AND INSTRUCTIONS TO YOU ABOUT OUR
SERVICE.

Consumer Credit Advocates, PC
11 Pennsylvania Plaza, Suite 2101
New York, NY  10001
(212) 629-5261 (telephone)  (212) 629-4762 (fax)
E-MAIL: ccapc@cyber.sell.com



======================================================================= 83 ===
Date:    08 Feb 1995 20:40:13 GMT
From:    bm@play.cs.columbia.edu (Blair MacIntyre)
Subject: Re: SRC Modula-3 version 3.5

More info for those considering 3.5.

On the HPPA, it appears that the gcc 2.6.3 based backend doesn't work
(thus my earlier problems)

3.5 with the old gcc 2.5.7 based backend does work, but the static
libraries really kill you.  After installing almost everything in the
m3.tar.gz packages (no pkgtools or postcard)

bm@stieglitz:modula3/v3.5(3:35pm)[158]0% du -s bin/*
178969  bin/hp9000s700
15238   bin/irix5

The irix implementation uses shared libs... :-)
--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 84 ===
Date:    Thu, 9 Feb 1995 08:30:23 -0500
From:    gwyant@cloyd.East.Sun.COM (Geoffrey Wyant - Sun Microsystems Labs BOS)
Subject: Re: SRC Modula-3 version 3.5

Blair MacIntyre writes:
 > I hope everyone else is having better luck.
 > 
 > >>>>> On 6 Feb 1995 16:34:01 GMT, kalsow@src.dec.com (Bill Kalsow) said:
 > 
 > Bill> Version 3.5 of SRC Modula-3 is now on gatekeeper:
 > Bill>    ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.5
 > 
 > Well, I fetched the following versions:
 >  SPARC, SOLgnu, SOLsun, HPPA, IRIX5
 > 
 > I've mentioned some of this to Bill, but I thought I'd throw it out
 > there for others as well.
 > 
 > SPARC: won't compile for me, at all.  I get the following error when I try
 >   linking m3 in the boot distribution:
 > ---- building m3 ----
 > /bin/cc -o m3 _m3main.o M3Backend_i.o M3BackPosix_m.o Arg_i.o Arg_m.o Msg_i.
o Msg_m.o M3Path_i.o M3Path_m.o Unit_i.o Unit_m.o Utils_i.o Utils_m.o WebFile_i
.o WebFile_m.o Main_m.o ../../m3front/SPARC/libm3front.a ../../m3linker/SPARC/l
ibm3link.a ../../m3middle/SPARC/libm3middle.a ../../libm3/SPARC/libm3.a ../../m
3core/SPARC/libm3core.a -lm
 > ld: ../../m3front/SPARC/libm3front.a(DivExpr_m.o): base relative static symb
ol(_MM_DivExpr) botch

This turns out to be due to passing the '-k' flag top the assembler while
building the bootstrap files. 

Bill - when you regenerate the bootstrap files to be PIC files this
problem should go away. I tested this by removing the '-k' switch to
the assembler so that it didn't think the source files were PIC. I
was then able to be build the SPARC bootstrap. I suspected that it
was a different manifestation of the problem that popped up on
Solaris-2.

--geoff


======================================================================= 85 ===
Date:    Thu, 9 Feb 1995 18:08:53 -0500
From:    douglm@rpi.edu
Subject: Network objects

>A long time back (Mon, 6 Jun 94) Geoffrey Wyant said:

>A call to 'NetObj.Export' never returns. I have localized
>it to the following:
>
>  AgentStubs.PutStub calls StubLib.InRef (taking the network object off
>the wire)
>  StubLib.InRef      calls StubLib.InObject
>  StubLib.InObject   NetObjRT.Find
>
>Somewhere in NetObjRT.Find, it is hanging. I don't believe that this is
>a TCP or protocol related problem. If you "handcraft" a endpoint to
>a specific port and avoid going through 'NetObj.Export', then these
>remote invocations succeed, so it appears to be the implementation of
>NetObjRT.Find; it is acting as if it is trying to acquire a lock that
>it is already holding, though I haven't verfied this.
>

Was there ever a fix to this problem for V3.3? I'd like to try network
objects while I wait for 3.5.

Thanks. Mike





======================================================================= 86 ===
Date:    9 Feb 1995 09:23:10 GMT
From:    mgiorgin@quack.dsi.unive.it (Giorgini Manuel)
Subject: Modula-3 Compiler for Amiga?

Hi there, does anybody know whether a Modula-3 compiler for amiga exists or
not?

Thanks in advance.

--
Manuel's signature v1.001 follows:
Ciao,                     +---------------------------+
           ..        ..   |  May U live 2 C the dawn  |
           .. Manuel ..   | mgiorgin@moo.dsi.unive.it |
(PGP key)  ............   +---------------------------+






======================================================================= 87 ===
Date:    9 Feb 1995 09:38:11 GMT
From:    Peter Klein <pk@i3.informatik.rwth-aachen.de>
Subject: ld Error in Version 3.5

Several people reported the base symbol botch error ld produces when
trying to link libm3 (and others, by the way). The solution I found
to this problem is not to compile into position independent code, i.e.
remove the -PIC/-fPIC option from the calls to cc/gcc/m3cgc1 and the
-k flag to as. I haven't tried with cc, but with gcc, this worked fine
after changing the m3build template accordingly.

Another problem I had was that libm3 can't be compiled with optimization
(this worked in 3.4, but the backend produces an RTL loop error now).

The next problem you'll run into will be some compilation errors in
the jvideo library. These are pretty obvious to eliminate, though:
The Init procedure in JVSink.m3 misses the delay parameter (see
the method definition in the interface), and a semicolon is missing
in the Init procedure in JV.m3.

A funny little problem during my installation was the following:
The generator programs (m3bundle, m3zume, stubgen etc.) are
called from the templates without a full path, so if you have an
older installation in you search path, old executables will be
called during the building process. In my case this failed because
the 3.3 version of m3zume was called using the 3.3 templates, so
the generated source files were erroneous. My advise for future
releases would be to prefix all executable names with BIN_INSTALL.

Peter
---
Peter Klein                        E-Mail: pk@i3.informatik.rwth-aachen.de
Lehrstuhl fuer Informatik III      Tel.: +49/241/80-21311
Ahornstrasse 55                    Fax.: +49/241/8888-218
RWTH Aachen
52074 Aachen
Germany



======================================================================= 88 ===
Date:    Thu, 09 Feb 95 11:21:42 GMT
From:    rcv@ukc.ac.uk (R.C.Vandenbergh)
Subject: Current stable version ?

HI,

I've been following the modula 3 development for some time now, but have
gotten a little confused as to which version of the compiler is now the
official release.

Is the following correct ?

	Version 3.3	=> Out of date
	Version 3.4	=> Superceded by 3.5
	Version 3.5	=> Latest release 

If so, which systems has 3.5 been 'released' for ? [The readme only lists 3].

Thanks,
	Cedric


======================================================================= 89 ===
Date:    Fri, 10 Feb 1995 07:17:13 -0500
From:    gwyant@cloyd.East.Sun.COM (Geoffrey Wyant - Sun Microsystems Labs BOS)
Subject: Network objects

douglm@rpi.edu writes:
 > >A long time back (Mon, 6 Jun 94) Geoffrey Wyant said:
 > 
 > >A call to 'NetObj.Export' never returns. I have localized
 > >it to the following:
 > >
 > >  AgentStubs.PutStub calls StubLib.InRef (taking the network object off
 > >the wire)
 > >  StubLib.InRef      calls StubLib.InObject
 > >  StubLib.InObject   NetObjRT.Find
 > >
 > >Somewhere in NetObjRT.Find, it is hanging. I don't believe that this is
 > >a TCP or protocol related problem. If you "handcraft" a endpoint to
 > >a specific port and avoid going through 'NetObj.Export', then these
 > >remote invocations succeed, so it appears to be the implementation of
 > >NetObjRT.Find; it is acting as if it is trying to acquire a lock that
 > >it is already holding, though I haven't verfied this.
 > >
 > 
 > Was there ever a fix to this problem for V3.3? I'd like to try network
 > objects while I wait for 3.5.
 > 
 > Thanks. Mike
 > 
 > 

Yes, this was fixed in 3.4.  I've had no trouble with network object's
in 3.4. I haven't tried NO under 3.5 yet.

--geoff


======================================================================= 90 ===
Date:    Thu, 9 Feb 1995 09:36:04
From:    JSULLIVA@fhcrc.org (John Sullivan)
Subject: Re: L'OBJET: A new journal (in French) on object technology.


>[discussion of what OED II says about -ise and -ize deleted]

STOP IT! STOP IT! SHUT UP! NO MORE! JUST KNOCK IT THE HELL OFF!!


======================================================================= 91 ===
Date:    9 Feb 95 09:10:05
From:    dagenais@notung.vlsi.polymtl.ca (Michel Dagenais)
Subject: Re: Where is the FAQ?

All FAQs are available from rtfm.mit.edu. The Modula-3 FAQ is available
as well from ftp.vlsi.polymtl.ca:pub/m3/m3-faq.txt. I should post it
soon but first need to add in a few words about the 3.4 and 3.5 releases.
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 92 ===
Date:    9 Feb 1995 21:23:21 -0600
From:    worstell@netcom.com (glen worstell)
Subject: M3 on NT

Is a binary available for Windows NT 3.5?
Just want to save (a lot) of time!
TIA,
gLEN.


======================================================================= 93 ===
Date:    10 Feb 1995 21:39:42 GMT
From:    kalsow@src.dec.com (Bill Kalsow)
Subject: Re: Error when running m3boot

In article <1995Feb9.121002.18336@nntp.nta.no>, ohk@hal.nta.no (Ole-Hjalmar Kri
stensen TF.E/DELAB) writes:
> I am trying to install modula-3 on a Sun running SunOS 4.1.3, 
> and get the following error message when I am running the m3boot script:
> 
> ld: ../../m3front/SPARC/libm3front.a(DivExpr_m.o): 
> base relative static symbol(_MM_DivExpr) botch
> *** error code 4


The errors on the Sun platforms (SPARC, SOLsun, SOLgnu) are caused
by telling the assembler that the boostrap contains position-independent
code (PIC), when it does not.

You can get around the problem by editing the definition of
ASM in the configuration file to omit the "-k" (SPARC) or
"-K PIC" (SOLsun, SOLgnu) flags.  The resulting system will
build and install properly, but won't be able to generate
shared libraries.

I'm building a new release snapshot now that fixes this problem
as well as several others.  When it appears it will be in
/pub/DEC/Modula-3/release-3.5.1.

  - Bill Kalsow



======================================================================= 94 ===
Date:    10 Feb 1995 21:48:37 GMT
From:    kalsow@src.dec.com (Bill Kalsow)
Subject: Re: a question about the templates.

In article <BM.95Feb10100606@shadow.cs.columbia.edu>, bm@shadow.cs.columbia.edu
 (Blair MacIntyre) writes:
> A simple question for someone:  are all the hard-coded paths in the
> template files, or do the libraries and/or compiler have hard coded
> paths in them?
> 
> I figure one or more of m3build, m3where, etc., must have some paths
> in them, so they know where to find m3 and the templates.
> 
> Basically, if I want to move the compiler, what do I have to
> recompile?


m3build, m3ship, and m3where (in the "m3build/src" directory
of the boot-XYZ or m3 archives) capture the installation paths defined
in the m3build/templates directory.

The "M3Config" interface (in m3/libm3/src/config) also captures the
configuration paths.

To the best of my knowledge, all other pieces of the system do late-binding
and get the paths from the installed template directory
(PKG_USE/m3build/templates).

  - Bill Kalsow


======================================================================= 95 ===
Date:    10 Feb 1995 13:06:15 GMT
From:    laszlo@bornholm.ifi.uni-klu.ac.at (Laszlo BOESZOERMENYI)
Subject: Re: Modula 3 PC -> Modula 3 Unix ??


> I am currently doing Modula-3 at university and I am wondering if I FTP the 
>DOS Modula-3 will the programs that I write using this be compatible with 
> the modula-3 running under unix on DEC stations

It depends on.
M3PC-Klagenfurt contains at the moment M3 V.2.9
the libraries of which are not quite compatible with thah of V.3.x.
The changes are, however, not really essential.

The ex32 system is probably quite compatible
(except of course Trestle-graphics),
however, it may have other difficulties
(it is probably less tested than the other system).

Cheers
LB

*********************************
*  Prof. Laszlo Boeszoermenyi	*
* Institut fuer Informatik	*
*                              	*
* Universitaet Klagenfurt	*
* Universitaetsstr. 65-67  	*
* A-9022 Klagenfurt / Austria	*
*                              	*
* e-mail:			*
* laszlo@ifi.uni-klu.ac.at	*
* Tel.: 			*	
* 00-43-463-2700-509 		*
* 00-43-463-2700-506 (secr.)	*
* Fax.:		 		*
* 00-43-463-2700-505 		*
*********************************


======================================================================= 96 ===
Date:    10 Feb 1995 15:06:06 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: a question about the templates.

A simple question for someone:  are all the hard-coded paths in the
template files, or do the libraries and/or compiler have hard coded
paths in them?

I figure one or more of m3build, m3where, etc., must have some paths
in them, so they know where to find m3 and the templates.

Basically, if I want to move the compiler, what do I have to
recompile?

Thanks.
--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 97 ===
Date:    Thu, 9 Feb 95 12:10:02 GMT
From:    ohk@hal.nta.no (Ole-Hjalmar Kristensen TF.E/DELAB)
Subject: Error when running m3boot

I am trying to install modula-3 on a Sun running SunOS 4.1.3, 
and get the following error message when I am running the m3boot script:

---- building m3linker ----
/bin/ar cru libm3link.a Mx_i.o Mx_m.o MxIn_i.o MxIn_m.o MxOut_i.o MxOut_m.o 
MxMerge_i.o MxMerge_m.o MxCheck_i.o MxCheck_m.o MxGen_i.o MxGen_m.o MxVS_i.o 
MxVS_m.o MxRep_i.o MxRep_m.o MxMap_i.o MxMap_m.o MxSet_i.o MxSet_m.o MxVSSet_i.
o 
MxVSSet_m.o MxIO_i.o MxIO_m.o
ranlib libm3link.a
---- building m3 ----
/bin/cc -o m3 _m3main.o M3Backend_i.o M3BackPosix_m.o Arg_i.o Arg_m.o Msg_i.o 
Msg_m.o M3Path_i.o M3Path_m.o Unit_i.o Unit_m.o Utils_i.o Utils_m.o WebFile_i.o
 
WebFile_m.o Main_m.o ../../m3front/SPARC/libm3front.a 
../../m3linker/SPARC/libm3link.a ../../m3middle/SPARC/libm3middle.a 
../../libm3/SPARC/libm3.a ../../m3core/SPARC/libm3core.a -lm
ld: ../../m3front/SPARC/libm3front.a(DivExpr_m.o): 
base relative static symbol(_MM_DivExpr) botch
*** error code 4
"/home/edeber/a/ohk/m3/boot-SPARC/m3build/templates/COMMON.BOOT", line 52: 
command execute failed
*** call stack ***
"/home/edeber/a/ohk/m3/boot-SPARC/m3build/templates/COMMON.BOOT", line 52: 
call to built-in exec
"./make.boot", line 28: call to procedure boot_prog


Has anyone seen this error message before?


Ole-Hj. Kristensen


======================================================================= 98 ===
Date:    10 Feb 1995 17:50:36 +0100
From:    laverman@cs.rug.nl (Bert Laverman)
Subject: Anyone got binaries for NT?

Hi.
  It seems that Win32s should provide for most of the functionality
required to get 32-bit programs up. I haven't seen a real NT system
here in the Netherlands (is it actually being sold? nobody even
offers it in the computer shops) but Win32s is used quite often.
  The major drawback seems to be the lack of console support.

Looking at the NT boot file it seems that gcc is still needed...
Anyone got a working copy that has been tried on win32s? Or am I
being to hopeful?

Bert Laverman
-- 
  ------------------------------------------------------------------
  Bert Laverman,   Dept. of Computing Science,  Groningen University
  Email: laverman@cs.rug.nl			Phone: +31-50-633948
  Home:  bert@rakis.iaf.nl			Fax:   +31-50-633800


======================================================================= 99 ===
Date:    9 Feb 1995 00:28:05 GMT
From:    Quentin Stafford-Fraser <fraser@europarc.xerox.com>
Subject: 3.5 & Base relative static symbol botch?


While trying to build 3.5 (yes, it's there now) on SunOS 4.1.3, I got
the following message at the linking of the boot m3:

ld: ../../m3front/SPARC/libm3front.a(DivExpr_m.o): 
	base relative static symbol(_MM_DivExpr) botch
*** error code 4

This is a new one on me - anybody know what it means?


The NT version built beautifully after a bit of tweaking to make it 
use the compiler, linker and libraries that came with our Visual 
C++ 2.0.  It runs at a very respectable speed too.   Many thanks
to all those involved in its development - I'll have fun with this.

Quentin


======================================================================= 100 ===
Date:    10 Feb 1995 18:22:54 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: Re: Network objects

>>>>> On Thu, 9 Feb 1995 18:08:53 -0500, douglm@rpi.edu said:

>> A long time back (Mon, 6 Jun 94) Geoffrey Wyant said:
>> A call to 'NetObj.Export' never returns. [....]

Mike> Was there ever a fix to this problem for V3.3? I'd like to try network
Mike> objects while I wait for 3.5.

Well, I've just successfully built my first netobj program on the
SPARC architecture (using 3.4), so I assume the problem was
fixed.



--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 101 ===
Date:    10 Feb 1995 19:20:55 GMT
From:    csk@alice.wingate.com (Christopher S. Komuves)
Subject: Need DOS Business Applications

Looking for commercial business DOS applications (written in any language):
                                ^^^
I need help locating DOS applications.  Preferably ones with a large
installed user base.  Some examples would be software for accounting, 
banking, real estate, customer service, insurance, medical 
billing/patient management, etc.  If anyone can point me to one or more 
of these, or to a list of such programs, I would be very appreciative. 
Please reply by email.

Product name?:	
Purpose?:
Vender Contact Information (name, phone#, etc.)?:

				Thanks,
				Chris
--
/=============================^========================================\
| Christopher S. Komuves      | Email: csk@wingate.com                 |
| Director of Technical Sales | WWW:   http://www.wingate.com          |
| WINGate Technologies        | ftp://ftp.digex.net/pub/access/wingate |
| High Street Court, Suite 303| Phone:(800) 946-7435, (201) 539-2727   |
| Morristown, NJ 07960        | Fax:(201) 539-2838  BBS:(201) 539-6782 |
\======================================================================/



======================================================================= 102 ===
Date:    11 Feb 1995 16:52:19 GMT
From:    ianmacd@xs4all.nl (Ian Macdonald)
Subject: Anyone know of a Modula-3 for CP/M?

Hi, I'm using FTL Modula-2 on an Amstrad PCW8512 (CP/M machine), and I 
wondered if anyone knew of a Modula-3 compiler for CP/M. Get in touch if 
you do.

Best wishes,

Ian

---
Ian Macdonald		| ianmacd@xs4all.nl
G. Flinckstr. 90-E	| Tel: +31 20 6759121
1072 EK Amsterdam	| Fax: only after voice call
The Netherlands
	



======================================================================= 103 ===
Date:    10 Feb 1995 18:02:47 GMT
From:    torst@mussorgsky.informatik.rwth-aachen.de (Torsten Spellerberg)
Subject: Pickle

Dear Modula-3 users,

I have experienced a problem since switching from m3-3.3 
to m3-3.5:

I use Pickle.Write to pickle a large graph-structure. For
Pickle not to run out of stack space I have to forked a sized
thread with an increased stack size. 

This worked fine with m3-3.3 but with m3-3.5 I get the following
run-time error:

***
*** runtime error:
***    Value out of range
***    file "../src/runtime/common/RTMapOp.m3", line 31
***

I have tried to increase the stack size to humungous dimensions,
but that does not seem to be the problem.

Has anyone got any suggestion as to what could be the reason?

Thank you for your help,

    Torsten
-- 
email: torst@i3.informatik.rwth-aachen.de
smail: Torsten Spellerberg, Lehrstuhl f. Informatik III
       Ahornstr. 55, 52074 Aachen, Germany
phone: +49/241/80-21320     fax:  +49/241/8888-218


======================================================================= 104 ===
Date:    11 Feb 1995 20:12:51 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: Network objects on IRIX.

Has anyone gotten them working on IRIX?

I just tried to compile one of the test programs (echorw) and when I
run it I get 

bm@monet:echorw/src(2:46pm)[10]0% ../IRIX5/echotest 

***
*** runtime error:
***    Exception "IP.Error" not in RAISES list
***

zsh: 14027 abort (core dumped)  ../IRIX5/echotest

Similarly, trying to run the netobjd gives:
bm@monet:echorw/src(2:54pm)[11]134% netobjd
netobjd: listen failed.  Is a netobjd already running?

(netobjd is not already running, and netstat does not show anything
else sitting on the default port).

By adding an extra IO.Put statement, it is the first call to
      NetObj.Export (EchoObjName, NEW(T), NIL);
that is causing the error.

--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 105 ===
Date:    11 Feb 1995 23:10:09 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: Re: Network objects on IRIX.

>>>>> On 11 Feb 1995 20:12:51 GMT, I said:

me> Has anyone gotten them working on IRIX?

I finally got m3gdb working on IRIX, and the unhandled exception is
being raised in TCP.NewConnector (calling RaiseUnexpected).  The errno
is 122,
#define EOPNOTSUPP      122             /* Operation not supported on socket */

which looks like it's being raises by Usocket.listen (the man page
says it is raises when the socket is not a SOCK_STREAM.)

Turns out that the definition of Usocket.SOCK_STREAM is 1.   But, in
/usr/include/sys/socket.h we have:

/*
 * Types
 */
#ifdef _STYPES_LATER    /* old ABI */
#define SOCK_STREAM     1               /* stream socket */
#define SOCK_DGRAM      2               /* datagram socket */
#define SOCK_RAW        3               /* raw-protocol interface */
#define SOCK_RDM        4               /* reliably-delivered message */
#define SOCK_SEQPACKET  5               /* sequenced packet stream */
#else /* !_STYPES_LATER, new ABI */

#ifndef NC_TPI_CLTS
#define NC_TPI_CLTS     1               /* must agree with netconfig.h */
#define NC_TPI_COTS     2               /* must agree with netconfig.h */
#define NC_TPI_COTS_ORD 3               /* must agree with netconfig.h */
#define NC_TPI_RAW      4               /* must agree with netconfig.h */
#endif /* !NC_TPI_CLTS */

#define SOCK_DGRAM      NC_TPI_CLTS     /* datagram socket */
#define SOCK_STREAM     NC_TPI_COTS     /* stream socket */
#define SOCK_RAW        NC_TPI_RAW      /* raw-protocol interface */
#define SOCK_RDM        5               /* reliably-delivered message */
#define SOCK_SEQPACKET  6               /* sequenced packet stream */


Notice that the definitions change.  What is the correct value?  I
tried hard coding a 2 in the socket() call, and the listen now
suceeds.  However, is using the "new" values correct?

Things work on my system if I switch the beginning of
m3/m3core/src/unix/irix-5.2/Usocket.i3 to correspond to the above values:

(*
 * Types
 *)
CONST
(* OLD ABI, see below.
  SOCK_STREAM    = 1;            (* stream socket *)
  SOCK_DGRAM     = 2;            (* datagram socket *)
  SOCK_RAW       = 3;            (* raw-protocol interface *)
  SOCK_RDM       = 4;            (* reliably-delivered message *)
  SOCK_SEQPACKET = 5;            (* sequenced packet stream *)
*)
  SOCK_DGRAM     = 1;            (* datagram socket *)
  SOCK_STREAM    = 2;            (* stream socket *)
  SOCK_RAW       = 4;            (* raw-protocol interface *)
  SOCK_RDM       = 5;            (* reliably-delivered message *)
  SOCK_SEQPACKET = 6;            (* sequenced packet stream *)



--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 106 ===
Date:    12 Feb 1995 08:19:57 GMT
From:    egustafs@askelon.eng.uiowa.edu (Eric Gustafson)
Subject: Building libm3core.so.3.5 under linux

I'm having a problem generating libm3core.so.3.5 under linux.  I've
traced the problem down to the 'mkimage' command.  This is one of the
dll tools used as part of the 'buildShared' script.  When the
following command is executed from <build_dir>/m3core/LINUX mkimage
"Segmentation fault" 's:

mkimage -f -l libm3core -v 3.5 -a 64400000 -j 0x4000 -g 0x2000 -- \
'jumpas/*.o' " "

I have set JUMP_DIR=`pwd`/jump and JUMP_LIB=libm3core.  In short I
manually did what buildSharded does.  I'm using version 2.16 of the
dll tools.

My question:  Has anyone managed to get this to compile with v2.16 of
the dll tools?  (You can tell what version you have by running
'/usr/dll/bin/mkimage -v')  I susspect that the problem is with
mkimage, but thought I'd see if anyone else has done this first.

Thanks,
--
Eric Gustafson                                    egustafs@ecepc44.uccs.edu
Electrical & Computer Engineering                    egustafs@cpe.valpo.edu
University of Colorado -- UCCS                        Phone: (719) 637-8022
** Warning ** Planet is 97% full please remove unneeded inhabitants !!



======================================================================= 107 ===
Date:    12 Feb 1995 01:52:14 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: Re: Any idea why this would cause stubgen to dump core?


The problem turns out to be the initializer of the TrackerPosition RECORD.
Here's the relevant bits of my last post:

>>>>> On 6 Feb 1995 17:21:26 -0500, bm@news.cs.columbia.edu (Blair
>>>>> MacIntyre) (I) said:

me> I have an interface, and I wanted to make it into a netobj (as a
me> test).  m3build produces:

me> stubgen -sno Logitech.Public   -T.M3IMPTAB
me> stubgen: Processing Logitech.Public

me> ***
me> *** runtime error:
me> ***    Exception "StubUtils.Error" not in RAISES list
me> ***

me> sh: 13266 Abort - core dumped
me> *** error code 134


me> TYPE
me>   T <: Public;
me>   Public = NetObj.T OBJECT METHODS
   [...]
me>       read (VAR (*OUT*) t: TrackerPosition): ReadResult
me>             RAISES {OSError.E, NetObj.Error, Thread.Alerted};
me>     END;

Where

me>   ReadResult = {OutOfRange, Success, EOF};

me>   (* The TrackerPosition RECORD is the position and orientation of the
me>      tracker *)
me>   TrackerPosition =
me>     RECORD
	[...]
me>       rotation_m := GraphicsTypes.Matrix{
me>                       GraphicsTypes.Vector{1.0D0, 0.0D0, 0.0D0, 0.0D0},
me>                       GraphicsTypes.Vector{0.0D0, 1.0D0, 0.0D0, 0.0D0},
me>                       GraphicsTypes.Vector{0.0D0, 0.0D0, 1.0D0, 0.0D0},
me>                       GraphicsTypes.Vector{0.0D0, 0.0D0, 0.0D0, 1.0D0}};
	[...]
me>     END;


If I remove that initializer on the matrix, it doesn't crash.  Go figure.
--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 108 ===
Date:    Sun, 12 Feb 1995 14:22:58 +0000
From:    cjs1003@cus.cam.ac.uk (Carl J. Spencer)
Subject: Threads/garbage collector implementation inquiry


I am looking for as much information as I can get about what the garbage
collector requires from a threads implementation in the Modula-3 system.

I am currently working with version 3.3 on SunOS 5.3 on a multiprocessor
Sun machine.  I understand that things have changed slightly in version
3.4.

Anybody?

-- 
Carl J. Spencer
Queens' College
Cambridge


======================================================================= 109 ===
Date:    12 Feb 1995 23:42:08 GMT
From:    egustafs@askelon.eng.uiowa.edu (Eric Gustafson)
Subject: Re: Building libm3core.so.3.5 under linux

Eric Gustafson (egustafs@askelon.eng.uiowa.edu) wrote:
: I'm having a problem generating libm3core.so.3.5 under linux.

Well, I dug up v2.15 of the dll link tools and the same thing happened.
So I used both the new and old link tools to make some other shared
libraries.  That worked fine.  This brings me to doing a lot of humm'ing
and haa'ing, but not to any conclution.

I will expand my question:  Has anyone built m3-3.5 under linux yet?

Also, I see that m3core is using an address of 0x64400000, but in the
table given with the dll tools it says that m3 is allocated addresses
0x64800000 and up.  Is this first address correct?  (I get it from
<lib>/m3/pkg/m3build/templates/LINUX )

Thanks for any help you can give,
--
Eric Gustafson                                    egustafs@ecepc44.uccs.edu
Electrical & Computer Engineering                    egustafs@cpe.valpo.edu
University of Colorado -- UCCS                        Phone: (719) 637-8022
** Warning ** Planet is 97% full please remove unneeded inhabitants !!



======================================================================= 110 ===
Date:    Sun, 12 Feb 95 13:12:01 -0800
From:    najork@pa.dec.com (Marc Najork)
Subject: Re: Anyone got binaries for NT?


Bert Laverman <laverman@cs.rug.nl> wrote:

    It seems that Win32s should provide for most of the functionality
    required to get 32-bit programs up. I haven't seen a real NT system
    here in the Netherlands (is it actually being sold? nobody even
    offers it in the computer shops) but Win32s is used quite often.
    The major drawback seems to be the lack of console support.

    Looking at the NT boot file it seems that gcc is still needed...
    Anyone got a working copy that has been tried on win32s? Or am I
    being to hopeful?


The "NT compiler" is actually a port of the Modula-3 compiler to 
Microsoft's Win32 API.  Win32s is a subset of Win32 that lacks a
couple of features, among them preemptive threads. So, since the 
Win32 port of Modula-3 uses native threads, it won't run under Win32s.

All of our work has been done on Windows NT.

Windows 95 supports preemptive threads. Unfortunately, although we 
have a Beta-2 version of Windows 95 here at SRC, Microsoft did not 
include the SDK or a C compiler, so we could not test the Modula-3
compiler in this environment. 


----- Marc Najork ---- najork@src.dec.com ---- (415) 853-2153 -----
DEC Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301
-------- http://www.research.digital.com/SRC/people/najork --------


======================================================================= 111 ===
Date:    13 Feb 1995 03:58:57 GMT
From:    montjoy@thor.ece.uc.edu (Robert Montjoy)
Subject: Re: undefined symbols compiling m3 for SUNsol


Try adding -lsunmath to the link line.

In article <3hb45j$dd3@cips2.gm.fh-koeln.de>,
Horst Stenzel  <hstl@birke.gm.fh-koeln.de> wrote:
>I try to install modula-3 version 3.4 on sun with 
>Solaris 2.3 and Sun C 3.0 and boot-SUNsol. 
>Running m3boot, I get the following messages
>
>..
>---- building m3 ----
>/usr/ucb/cc -L/usr/ucblib -R/usr/ucblib -lucb -o m3 _m3main.o M3Backend_i.o 
>M3BackPosix_m.o Arg_i.o Arg_m.o Msg_i.o Msg_m.o M3Path_i.o M3Path_m.o Unit_i.o
 
>Unit_m.o Utils_i.o Utils_m.o WebFile_i.o WebFile_m.o Main_m.o 
>./../m3core/SOLsun/libm3core.a ../../libm3/SOLsun/libm3.a 
>./../m3middle/SOLsun/libm3middle.a ../../m3linker/SOLsun/libm3link.a 
>./../m3front/SOLsun/libm3front.a -lm -lsocket -lnsl -lw -ldl -lucb
>ucbcc: Warning: Option -R/usr/ucblib passed to ld, if ld is invoked, ignored o
therwise
>Undefined			first referenced
> symbol  			    in file
>ieee_handler                        ../../m3core/SOLsun/libm3core.a(FloatMode_
m.o)
>sigfpe                              ../../m3core/SOLsun/libm3core.a(FloatMode_
m.o)
>ieee_flags                          ../../m3core/SOLsun/libm3core.a(FloatMode_
m.o)
>ld: fatal: Symbol referencing errors. No output written to m3
>*** error code 1
>..
>
>Is any help available?		-H.Stl.


-- 
Rob Montjoy  		     - Systems Engineer/Systems Administrator
University of Cincinnati     - Electrical and Computer Engineering 
E-Mail: Rob.Montjoy@UC.EDU   - Personal or Other E-Mail



======================================================================= 112 ===
Date:    13 Feb 1995 17:46:34 GMT
From:    kalsow@src.dec.com (Bill Kalsow)
Subject: Re: Anyone got binaries for NT?

In article <3hg5gs$a55@rug103.cs.rug.nl>, laverman@cs.rug.nl (Bert Laverman) wr
ites:
> Hi.
>   It seems that Win32s should provide for most of the functionality
> required to get 32-bit programs up. I haven't seen a real NT system
> here in the Netherlands (is it actually being sold? nobody even
> offers it in the computer shops) but Win32s is used quite often.
>   The major drawback seems to be the lack of console support.

According to Bryan Tuttle <bryant@microsoft.com>:

  It s/b available (it not, it will be shortly).  The mail I got showed 
  the localized version had released to manufacturing ~1/8.

I guess he's talking about NT for the Netherlands.

  - Bill Kalsow







======================================================================= 113 ===
Date:    13 Feb 1995 17:29:22 GMT
From:    kalsow@src.dec.com (Bill Kalsow)
Subject: Re: Anyone got binaries for NT?

In article <3hg5gs$a55@rug103.cs.rug.nl>, laverman@cs.rug.nl (Bert Laverman) wr
ites:

> Looking at the NT boot file it seems that gcc is still needed...
> Anyone got a working copy that has been tried on win32s? Or am I
> being to hopeful?

No, gcc is not needed.  However, you do need a C compiler and linker.

As Marc said, there's no hope of running SRC Modula-3 on win32s.
Win32s is ok for converting 16-bit code to run in a 32-bit world,
but it's not a very good emulation of the full 32-bit world.

  - Bill Kalsow



======================================================================= 114 ===
Date:    13 Feb 1995 17:13:53 GMT
From:    kalsow@src.dec.com (Bill Kalsow)
Subject: Re: Pickle

In article <TORST.95Feb10190247@mussorgsky.informatik.rwth-aachen.de>, torst@mu
ssorgsky.informatik.rwth-aachen.de (Torsten Spellerberg) writes:

> *** runtime error:
> ***    Value out of range
> ***    file "../src/runtime/common/RTMapOp.m3", line 31

This message indicates that the 128 element stack used by
the heap walker overflowed.  An entry is pushed on the stack
while visiting the elements of an array.  You could edit
m3/m3core/src/runtime/common/RTMapOp.i3 and recompile m3core
to make the array larger, but that (like making the thread
stacks larger) will simply delay the problem.  If you're
pickling deep recursive structures, you should write a
"specials" procedure to unwind the recursion.  For an example,
see m3/netobj/src/netobjrt/ListPkl.m3.

  - Bill Kalsow


======================================================================= 115 ===
Date:    13 Feb 1995 19:58:41 GMT
From:    Michel Dagenais <dagenais@vlsi.polymtl.ca>
Subject: Modula-3 Frequently Asked Questions (FAQ)

Archive-name: Modula-3-faq


   
   
                                 MODULA-3 FAQ
                                       
   
   
   Michel Dagenais, dagenais@vlsi.polymtl.ca
   
   
   
   v2.5, 14 February 1995
   
   
   
Contents

     * Contents
     * What is new?
     * The language
          + What is Modula-3?
          + Is Modula-3 a superset of Modula-2?
     * The documentation
          + Where can I get a description of Modula-3? 
          + Where can I get other information on Modula-3?
     * The implementations
          + Where can I get an implementation?
          + What is SRC Modula-3?
          + What is m3pc?
     * Some specific questions
          + Meeting with other Modula-3 users
          + Why is "Hello World" so large?
          + Why objects and interfaces?
          + Comparisons between Modula-3 and other languages?
          + What is the story with Trestle and OpenWindows?
          + Linking with C++ code
          + Flushing writers to see the output immediately
          + Problems with threads and VTALARM
          + What is the purpose of BRANDED and REVEAL
          + Why uppercase keywords
          + M3build versus Make or why m3 does not work
          + Missing RTHooks or similar messages
          + The program receives a SEGV signal under the debugger
          + What is M3-lite, MS-Windows support
          + Global Offset Table overflow on SPARC
          + Exceptions raised by X or Network Objects applications
          + X libraries not found
     * FTP
          + How To Obtain Pre-Compiled Binaries
          + What if I don't have ftp access?
     * Contributing
          + Can I contribute Modula-3 software?
          + ILU, an object-oriented multi-lingual RPC-capable module
            system
     * Modula-3 for teaching
     * Modula-3 In Industry
     * Work In Progress
          + The SRC Compiler
          + Integrated Development Environment
          + Windowing And User Interfaces
               o Rotated Text
               o Postscript VBTs
          + Persistence through reachability
          + Abstract Syntax Tree Tools (M3 Parser)
          + Computer Assisted Learning Tools (Algorithm Animation)
          + Presentations, Tutorials And Teaching Material
          + Reports And Books
          + Parallel Programming
     * Wish List
          + M3Build
          + Coverage And Performance Analysis
          + More VBTs
          + Distributed Computing (Network Objects)
          + Interfaces To Other Libraries And Programs (Tcl, Dps...)
     * Who's Who
       
  ABSTRACT:
  
   This document contains references to most of the material available on
   the Modula-3 language, compiler, tools and libraries. It should
   answer all the most frequently asked questions about Modula-3. The
   FAQ was originally written by Eric Muller. Send corrections,
   suggestions, additions to the current maintainer, Michel Dagenais
   dagenais@vlsi.polymtl.ca.
   
   The postscript version is available on
   ftp.vlsi.polymtl.ca:pub/m3/m3-faq.ps.
   
   An hypertext WWW version is found on
   http://www.vlsi.polymtl.ca/m3/m3-faq.html.
   
   
   
   
   
                                WHAT IS NEW?
                                       
   
   
   The SRC Modula-3 3.4 and 3.5 releases came out. Here is a list of the
   new features:
   
     * new ports to IRIX 5.2, FreeBSD, and Windows/NT(w/o Trestle)
     * a single top-level, build-everything m3makefile
     * faster compilation (merged driver and pass0)
     * runtime error message that include file and line number
     * m3browser, an HTTP server that provides virtual Modula-3 space
     * better shared library support for SOLsun and SPARC
     * more robust type encodings for the debugger (but not Peter Klein's
       changes)
     * ParseParams and SLisp are back
     * a floating-point version of the geometry package
     * an untested Linux/ELF bootstrap
     * a backend, m3cc, based on gcc 2.6.3
     * a persistent objects library, stable, and stub generator,
       stablegen.
     * a simple drawing editor for Windows/NT.
       
   
   
                                THE LANGUAGE
                                       
   
   
What is Modula-3?

   
   
   Modula-3 is a systems programming language that descends from Mesa,
   Modula-2, Cedar, and Modula-2+. It also resembles its cousins Object
   Pascal, Oberon, and Euclid.
   
   The goal of Modula-3 is to be as simple and safe as it can be while
   meeting the needs of modern systems programmers. Instead of exploring
   new features, they studied the features of the Modula family of
   languages that have proven themselves in practice and tried to
   simplify them into a harmonious language. They found that most of the
   successful features were aimed at one of two main goals: greater
   robustness, and a simpler, more systematic type system.
   
   Modula-3 retains one of Modula-2's most successful features, the
   provision for explicit interfaces between modules. It adds objects and
   classes, exception handling, garbage collection, lightweight processes
   (or threads), and the isolation of unsafe features.
   
Is Modula-3 a superset of Modula-2?

   
   
   No; valid Modula-2 programs are not valid Modula-3 programs. However,
   there is a tool to help convert Modula-2 programs to Modula-3.
   
                              THE DOCUMENTATION
                                       
   
   
Where can I get a description of Modula-3? 

   
   
   The language definition and most electronically available Modula-3
   information can be accessed on
   http://www.research.digital.com/SRC/modula-3/html/home.html.
   
   Modula-3 Home 
   
   Postscript versions of some of these documents, including the language
   definition, are available from http://www.vlsi.polymtl.ca/m3/Doc.
   
   Postscript Modula-3 documents
   
   The definition of Modula-3 is contained in:
   
     * System Programming with Modula-3 Edited by Greg Nelson Prentice
       Hall Series in Innovative Technology ISBN 0-13-590464-1 L.C.
       QA76.66.S87 1991
       
   
   
   also known as SPwM3. Here is the table of contents:
   
    1. Introduction
    2. Language Definition
    3. Standard Interfaces
    4. An Introduction to Programming with Threads
    5. Thread Synchronization: A Formal Specification
    6. I/O Streams: Abstract Types, Real Programs
    7. Trestle Window System Tutorial
    8. How the Language Got its Spots
       
   
   
   Chapters 2 and 3 have been reprinted in Sigplan Notices, Volume 27,
   Number 8, August 1992, pp 15-42.
   
   Sam Harbison has written a more tutorial book about Modula3:
   
     * Modula-3 Samuel P. Harbison Prentice Hall, 1992 ISBN 0-13-596396-6
       
   
   
   The table of contents is as follows:
   
    1. Introduction
    2. Declarations
    3. Statements
    4. Basic Types
    5. Structured Types
    6. Procedures
    7. Exceptions
    8. Interfaces and Modules
    9. Generics
   10. Dynamic Programming
   11. Objects
   12. Threads
   13. Low-Level Programming
   14. Programming Conventions
   15. SRC Modula-3
   16. Modula-3 Syntax
   17. Answers to Selected Exercises
       
   
   
   The errata sheet is available via anonymous ftp from
   gatekeeper.dec.com in pub/DEC/Modula-3/errata.
   
   Errata 
   
   If you cannot find these books at your favorite bookstore, here are
   bookstores connected to the net known to carry them:
   
   UCI carries both books:
   
   UCI Bookstore 
   
   While Roswell is known to at least carry the language definition
   (SPwM3):
   
   Roswell Electronic Computer Bookstore (rjames@fox.nstn.ns.ca)
   
   Roswell Bookstore 
   
Where can I get other information on Modula-3?

   
   
   There is a Usenet newsgroup, comp.lang.modula3. The archives of that
   group are available via anonymous ftp from gatekeeper.dec.com in
   pub/DEC/Modula-3/comp.lang.modula3. If you do not have access to
   Usenet, there is a relay mailing list; send a message to
   m3-request@src.dec.com to be added to it.
   
   Comp.lang.modula3 archive 
   
   There are a couple high-level overview articles available:
   
     * ``Introducing Modula-3'', Geoff Wyant, Linux Journal, December
       1994.
       
       Paper in ftp.gte.com/pub/m3/linux-journal.html
       
     * ``Safe Programming with Modula-3'', Sam Harbison, Dr. Dobb's
       Journal, Vol. 17, No. 10, October 1992, pp 88+.
       
     * ``Modula-3'', Sam Harbison, Byte, Vol. 15, No. 12, November 1990,
       pp 385+.
       
   
   
   A description of the Modula-3 type system is in
   
     * ``The Modula-3 Type System'', Luca Cardelli, Jim Donahue, Mick
       Jordan, Bill Kalsow, Greg Nelson, Conference Record of the
       Sixteenth Annual ACM Symposium on Principles of Programming
       Languages (POPL), Austin Texas, January 11-13 1989, pp 202-212.
       
   
   
   The Modula-3 treatment of floating-point values is described in
   
     * ``The Design of Floating-Point Data Types'', David Goldberg, ACM
       Letters on Programming Languages and Systems (LOPLAS), June 1992,
       Vol 1, no.2, pp 138-151
       
   
   
   The core library interfaces are described and indexed in
   
     * ``Some Useful Modula-3 Interfaces'', Jim Horning, Bill Kalsow,
       Paul McJones, Greg Nelson, SRC Research Report 113. Available via
       anonymous FTP from gatekeeper.dec.com in
       pub/DEC/SRC/research-reports/SRC-113.ps.Z
       
       Libm3 
       
     * ``Pickles: a system for automatic serialization of typed values'',
       Andrew Birrell, Greg Nelson, Susan Owicki, Edward Wobber, Systems
       Research Center, Digital Equipment Corp., in preparation.
       
   
   
   The Trestle window system toolkit, higher-level FormsVBT toolkit, and
   Zeus animation system available with Modula-3, are documented in the
   following reports:
   
     * ``Trestle Reference Manual'', Mark S. Manasse and Greg Nelson, SRC
       Research Report 68, December 1991.
     * ``Trestle Tutorial'', Mark S. Manasse and Greg Nelson, SRC
       Research Report 69, May 1, 1992.
     * ``VBTkit Reference Manual: A toolkit for Trestle'', edited by Marc
       H. Brown and James R. Meehan. (to be a SRC Research Report) A
       draft version is available via anonymous FTP from
       gatekeeper.dec.com in
       pub/DEC/Modula-3/contrib/vbtkit.25Mar93.ps.Z.
       
       VBTKit 
       
     * ``The FormsVBT Reference Manual'', Marc H. Brown and James R.
       Meehan, (to be a SRC Research Report). A draft version is
       available via anonymous FTP from gatekeeper.dec.com in
       pub/DEC/Modula-3/contrib/formsvbt.25Mar93.ps.Z and
       pub/DEC/Modula-3/contrib/formsvbt.AppC.26Mar93.ps.Z.
       
       VBTKit library 
       
       VBTKit applications 
       
     * ``Zeus: A System for Algorithm Animation and Multi-View Editing'',
       Marc H. Brown, SRC Research Report 75, February 28, 1992.
       Available via anonymous FTP from gatekeeper.dec.com in
       pub/DEC/SRC/research-reports/SRC-075*.ps.Z.
       
       Zeus 
       
     * ``Color and Sound in Algorithm Animation'', Marc H. Brown and John
       Hershberger, SRC Research Report 76a, August 30, 1991. Available
       via anonymous FTP from gatekeeper.dec.com in
       pub/DEC/SRC/research-reports/SRC-076a*.ps.Z.
       
       Color and Sound 
       
     * ``The 1992 SRC Algorithm Animation Festival'', Marc H. Brown, SRC
       Research Report 98, March 27, 1993. Available via anonymous ftp
       from gatekeeper.dec.com in
       pub/DEC/SRC/research-reports/SRC-098*.ps.Z.
       
       Animation Festival 
       
   
   
   Network objects are described in the following reports:
   
     * ``Network Objects'', Andrew Birrell, Greg Nelson, Susan Owicki,
       and Edward Wobber, SRC Research Report 115, February 28, 1994.
       Available via anonymous FTP from gatekeeper.dec.com in
       pub/DEC/SRC/research-reports/SRC-115*.ps.Z.
       
       Network Objects 
       
     * ``Distributed garbage collection for Network Objects'', Andrew
       Birrell, David Evers, Greg Nelson, Susan Owicki, and Edward
       Wobber, SRC Research Report 116, December 1993. Available via
       anonymous FTP from gatekeeper.dec.com in
       pub/DEC/SRC/research-reports/SRC-116*.ps.Z.
       
       Distributed GC 
       
   
   
   While the Obliq embeddable interpreter is documented in:
   
     * ``Obliq: A lightweight language for network objects'', Luca
       Cardelli, User's Manual, Systems Research Center, Digital
       Equipment Corp., 1994. Available via anonymous FTP from
       gatekeeper.dec.com in pub/DEC/Modula-3/contrib/Obliq.ps.
       
       Obliq 
       
   
   
   Hardcopy versions of these reports can be ordered by e-mail; send your
   request including a postal mail address to src-reports@src.dec.com.
   
   SRC research reports 
   
   Sedgewick's classic text on computer algorithms is presented in
   Modula-3 in:
   
     * Algorithms in Modula-3 Robert Sedgewick Addison-Wesley, 1993 ISBN
       0-201-53351-0
       
   
   
                             THE IMPLEMENTATIONS
                                       
   
   
Where can I get an implementation?

   
   
   Two implementations are available, SRC Modula-3 and a PC version of it
   (m3pc).
   
   As far as we know, implementations are not available for VMS,
   Macintosh.
   
What is SRC Modula-3?

   
   
   SRC Modula-3 was built by the DEC Systems Research Center and is
   available via anonymous ftp from gatekeeper.dec.com in
   pub/DEC/Modula-3. In Europe it is also available from
   ftp-i3.informatik.rwth-aachen.de in pub/Modula-3. The most recent
   version is release 3.5.
   
   Recent releases are known to work on at least on the DS3100
   (m3-request@src.dec.com), FreeBSD (Olaf Wagner olaf@logware.de), (HPPA
   (laverman@cs.rug.nl), LINUX (dagenais@vlsi.polymtl.ca), NeXT 68000
   (tom@smart.ruhr.de), (nayeri@gte.com) SPARC architectures. Work is
   under way to port to OS/2 (Hendrik Boom hendrick@CAM.ORG and Craig
   Andrew Kingston ckingsto@undergrad.math.uwaterloo.ca), AIX 3.2.5 for
   RISC/6000 (Bob Barton barton@chopin.eche.ualberta.ca). The SPARC
   release notes may be found on ftp.gte.com:pub/m3 while the LINUX ones
   are available on ftp.vlsi.polymtl.ca:pub/m3/linux/README, the HPPA
   notes are in ftp.vlsi.polymtl.ca:pub/m3/hppa/README, the FreeBSD notes
   are in ftp.vlsi.polymtl.ca:pub/m3/freebsd/README.
   
   SRC-Modula-3 
   
   SPARC release notes 
   
   LINUX release notes 
   
   HPPA release notes 
   
   FreeBSD release notes 
   
   The compiler implements the language defined in SPwM3. There are
   versions for the architectures listed below. While SRC can test on
   DS3100, ALPHA/OSF, Windows NT and LINUX, it can only rely on what
   users on other platforms tell them to integrate all the platform
   specific code.
   
   Because of the improved portability of the 3.* release, ports to non
   Unix platforms are easier. The Windows NT port, in progress, uses
   native threads. This should be a good model for other implementations
   of Thread using native threads.
   
     * AIX386: IBM PC running AIX/PS2,
     * AOSF: DEC Alpha AXP running OSF/1
     * AP3000: Apollo DN4500 running Domain/OS
     * ARM: Acorn R260 running RISC iX 1.21
     * DS3100: DECstation 3100 and 5000 running Ultrix 4.0 and 4.2
     * HP300: HP 9000/300 running HP-UX 8.0
     * HPPA: HP 9000/700, 9000/800 running HP-UX 8.0
     * IBMR2: IBM R6000 running AIX 3.1,
     * IBMRT: IBM RT running IBM/4.3,
     * LINUX: Intel 386 running LINUX
     * NEXT: NeXT running ??
     * NT386: Intel 386 running Windows NT
     * OKI: Okidata 7300 (i860) running UNIX SVR4.0
     * SEQUENT: Sequent computers running ??
     * SOL2: Sparc running Solaris 2.x
     * SPARC: SPARCstation running SunOS 4.1.x
     * SUN3: SUN3 running SunOS
     * SUN386: Sun 386i running SunOS 4.0.1
     * UMAX: Encore Multimax running UMAX 4.3 (R4.1.1)
     * VAX: VAX running Ultrix 3.1
       
   
   
   The new native compiler is based on GCC and should be fairly easy to
   port. Except for the very lowest levels of the thread implementation,
   the entire system is written in Modula-3.
   
   The DEC SRC Modula-3 release 3.5 contains the following:
   
     * A native code compiler: uses the GCC backend; on
       machines/operating systems that have self-describing stacks, an
       optimized exception handling mechanism is provided, on other
       architectures, setjmp/longjmp is used.
       
       The compilation system provides for minimal recompilation. Only
       those units that depend on the modified interface item will be
       recompiled.
     * m3utils/m3build: tool that performs dependency analysis and builds
       the Modula-3 programs and libraries.
     * A large standard library (libm3) providing
       
          + A multithread, incremental, generational, conservative
            garbage collector
          + Text manipulation.
          + Generic Containers: Lists, Sequences, Tables, SortedLists,
            SortedTables
          + Atoms and Symbolic expressions (Lisp like lists)
          + An extensible stream IO system
          + Typesafe binary object transcription (persistent objects)
          + Operating system interfaces
          + Portable interfaces to the language runtime
   
       
       All standard libraries are thread-friendly. Modula-3 can readily
       link with existing C libraries; many libraries including X11R4 and
       various UNIX libraries are available as part of libm3.
     * m3gdb: a Modula-3 aware version of GDB.
     * trestle: a multi-threaded window system interface that sits on top
       of X windows. It is not unlike InterViews and comes with several
       sample programs.
     * trestle/tcp: a library for simplified access to TCP/IP.
     * vbtkit: a higher level toolkit on top of Trestle. It offers
       buttons, menus, editors, file choosers... and has a Motif-like
       look and feel.
     * formsvbt: an interactive user interface builder. A symbolic
       expression representing the user interface is edited and the
       graphical view is immediately produced.
     * tools/coverage: tool to determine the number of times each
       statement is executed.
     * tools/pp: pretty printer for Modula-3 programs.
     * tools/gnuemacs: emacs lisp files to help editing and debugging
       Modula-3 programs in emacs.
     * tools/m3bundle: tool to bundle data files into an executable to
       produce standalone programs.
     * tools/m3totex: extract TeX documentation from Modula-3 programs
       for a form of literate programming.
     * tools/showheap: tool to graphically see the behavior of the
       garbage collector.
     * tools/shownew: tool to graphically see the allocation behavior of
       a running program.
     * tools/showthread: tool to see the activation of threads in a
       running program.
     * zeus: framework to develop graphical animations of algorithms
       (heapsort, quicksort, LRU cache replacement, network protocols...)
       for visualization and teaching purposes.
     * mentor: a dozen of animations developed using Zeus.
     * netobj: network objects that allow the transparent execution of
       methods across process and machine boundaries. A simple yet very
       effective way to build distributed applications.
     * obliq: simple, interpreted, lexically scoped, object oriented,
       distributed programming language that can be embedded in Modula-3
       programs and call/be-called by Modula-3 procedures. The Obliq
       object model is based on prototypes and delegation.
     * A framework for parsing and analyzing Modula-3 programs. This is a
       complete AST toolkit for Modula-3. This can parse arbitrary
       Modula-3 sources (input isn't required to be a complete unit) and
       produce detailed ASTs representing the input. The ASTs can be used
       to do a variety of semantic analysis tasks, or program generation
       tasks similar to Lisp environments. (m3tk).
     * pkgtools/smalldb: library to store objects on disk with logging
       and recovery capabilities.
     * pkgtools: distribution tool that insures that several copies of a
       package (software, document...) are updated simultaneously.
     * postcard: mail and news reading environment.
     * visualobliq: a graphical user interface builder coupled with a
       simple yet powerful interpreted language, Obliq, for rapid
       development of interactive distributed applications. This is a
       rather new component and is undergoing a fair amount of evolution;
       however, it is still very useful and exciting. Visual Obliq
       provides an application builder similiar in nature to Visual
       Basic. However, it uses Obliq as its scripting language. This
       makes it easy to build and prototype interesting distributed and
       groupware applications. It can be used for building
       non-distributed applications as well.
     * misc/tcl: interface to access the Tcl language from Modula-3.
     * misc/dps: interface to access Display Postscript from Modula-3.
     * games: more sample Trestle applications.
       
   
   
What is m3pc?

   
   
   A newer version of m3pc, code named EX32 in the README file, is
   available via anonymous ftp from gatekeeper.dec.com in
   pub/DEC/Modula-3/contrib/M3forDOS.
   
   PC Modula-3 
   
   From the README, written by Klaus Preschern:
   
   EX32 ("A 32-bit Extension of DOS") is a environment for the
   developement and execution of 32-bit applications with DOS.
   
   EX32 is a collection of DOS programs (drivers + kernel). It provides
   services for applications executed in protected mode. It does process
   management, virtual memory management, interprocess communication via
   pipes and it offers a file system with 32 character filenames.
   
   EX32 runs on MS-DOS 5.00, 6.00 and 6.02. You need a i386/i387
   (coprocessor required) or upward (i486, Pentium). EX32 supports DOS
   XMS memory (but not EMS, VCPI or DPMI). No support for the i286. You
   should have at least 4 MB memory (8 MB or more recommended). The whole
   package occupies unzipped and untared approximately 44 MB of disk
   space.
   
   EX32 comes with GNU C++ (version 2.4.5), SRC Modula-3 (version 3.1,
   including threads), two C libraries, a graphics library for VGA and a
   number of commands (i.e. ls, cp, rm, mkdir, make, ...).
   
   Note: This is a system for experienced programmers! They should be
   familiar with Unix and DOS.
   
                           SOME SPECIFIC QUESTIONS
                                       
   
   
Meeting with other Modula-3 users

   
   
   Modula-3 users meetings are held informally from time to time. A
   report from the last meeting is available from
   ftp://ftp.gte.com/pub/m3/m3ug/m3ug.html.
   
   Modula-3 users meeting
   
Why is "Hello World" so large?

   
   
   Modula-3 programs are larger than C programs for the following
   reasons:
   
    1. The fixed runtime is substantially larger. It contains a garbage
       collector, a thread runtime, and exception support. Note that
       "Hello World" is virtually all runtime. For larger programs the
       runtime is not an issue.
    2. The generated code includes runtime checks for out-of-bound array
       references and NIL pointer. Many of these checks could be removed
       by a more sophisticated compiler.
       
   
   
Why objects and interfaces?

   
   
   Allan Heydon on comp.lang.modula3, May 4th 1993:
   
   Modula-3 provides two separate mechanisms for data-hiding: one for
   hiding details about how interfaces are implemented, and the other for
   hiding details about how objects are implemented.
   
   The first data-hiding mechanism is realized by the distinction between
   interfaces and modules. Clients can only import interfaces, so the
   names declared in the modules implementing those interfaces are hidden
   from clients. Note that this mechanism has only two levels; a name is
   either declared in an interface, or it isn't. If a name is only
   declared in a module, it can't be used by a client.
   
   The second data-hiding mechanism is realized by opaque types and
   revelations. A Modula-3 interface may declare an object type to be
   opaque, in which case only a subset of the fields and methods of that
   object are revealed to clients importing the interface. Furthermore,
   the Modula-3 revelation mechanism allows a designer to reveal
   successively more fields and methods of an object in a series of
   interfaces. The fields and methods visible to a client then depends on
   which interfaces the client imports.
   
   The latter mechanism is quite flexible. As opposed to the
   interface/module data-hiding mechanism, opaque types allow you to
   define an arbitrary number of levels at which more and more
   information about the implementation of your object is revealed.
   
   See Sections 2.2.10, 2.4.6, and 2.4.7 of ``Systems Programming with
   Modula-3" for more information about opaque types and about partial
   and complete revelations.
   
Comparisons between Modula-3 and other languages?

   
   
   From: laszlo@post.ifi.uni-klu.ac.at (Laszlo BOESZOERMENYI)
   
   "A Comparison of Modula-3 and Oberon-2" by myself in "Structured
   Programming" 1993, 14:15-22
   
   From: nayeri@gte.com
   
   Robert Henderson, Benjamin Zorn, A Comparison of Object-Oriented
   Programming in Four Modern Languages, Department of Computer Science,
   University of Colorado, Boulder, Colorado, Technical Report
   CU-CS-641-93. Available by anonymous FTP and e-mail from
   ftp.cs.colorado.edu in the file
   pub/cs/techreports/zorn/CU-CS-641-93.ps.Z
   
   The paper evaluates Oberon, Modula-3, Sather, and Self in the context
   of object-oriented programming. While each of these programming
   languages provide support for classes with inheritance, dynamic
   dispatch, code reuse, and information hiding, they do so in very
   different ways and with varying levels of efficiency and simplicity. A
   single application was coded in each language and the experience
   gained forms the foundation on which the subjective critique is based.
   
   
What is the story with Trestle and OpenWindows?

   
   
   Mark Manasse says:
   
   I think that the OpenWindows release should be enough (no need to get
   the MIT X release), although there are a few things in Trestle that
   trigger devastating bugs in OpenWindows. But the only library we
   depend on is Xlib, R4 or later.
   
   The main thing I know that crashes OW 2.0 is the code where we call
   GrabKey specifying AnyKey. You can either loop over all of the keys,
   or you can just comment out the call; programs won't run exactly the
   same, but you probably won't notice the difference.
   
Linking with C++ code

   
   
   Apparently there is no problem to call C++ functions declared as
   extern "C".
   
   From: gwyant@cloyd.East.Sun.COM (Geoffrey Wyant - Sun Microsystems
   Labs BOS)
   
   You must use your C++ compiler as the linker, rather than /bin/cc or
   /bin/ld.
   
   You need to call the function '_main'. The easiest way to do this is
   to have the following set of interfaces and implementations:
   

        INTERFACE CXXMain;
          <*EXTERN "_main"*> CxxMain;
        END CXXMain;

        MODULE CXXMain;
        BEGIN
          CxxMain();
        END;

   
   
   and then import CXXMain into your M3 main module. This will ensure
   that the C++ function "_main" gets called.
   
Flushing writers to see the output immediately

   
   
   Modula-3 Writers are buffered. Thus, you need to issue a Wr.Flush when
   the output should appear immediately, for instance to prompt the user
   for some input. Since this can become annoying, libraries in other
   languages sometimes offer the option of unbuffered writes. In
   Modula-3, an equivalent behavior is obtained with AutoFlushWr which
   gets a background thread to flush a writer at a specified interval.
   
Problems with threads and VTALARM

   
   
   The threads are implemented using the virtual timer interrupt.
   Normally, the run time environment will catch the interrupt and
   determine if thread switching is appropriate. However, if a new
   process is created with fork, it will have the virtual timer activated
   and no interrupt handler to receive it, resulting in a core dump. If
   you use the standard procedure Process.Create to fork new processes,
   this will be handled automatically for you. If you insist on using
   fork, you need to disable the timer, fork and then reenable the timer.
   
   
What is the purpose of BRANDED and REVEAL

   
   
   Allan Heydon writes:
   
   These two keywords are necessary because of two quite different
   features of the language. REVEAL is necessary because Modula-3 has
   opaque types and partial revelations. BRANDED is necessary because the
   Modula-3 type system uses structural equivalence instead of name
   equivalence.
   
   In Modula-3, the concrete structure of a type can be hidden from
   clients in an interface. A common idiom is:
   

  INTERFACE I;

  TYPE
    T <: TPublic;
    TPublic = OBJECT
      (* fields *)
    METHODS
      (* methods *)
    END;

  END I.

   
   
   The line "T <: TPublic" introduces the type "I.T" as an opaque subtype
   of the type "I.TPublic". It does not reveal any of the other details
   of the concrete structure of "I.T" to clients. Hence, "I.T" is said to
   be an opaque type. Put another way, the structure of "I.T" is only
   partially revealed to clients.
   
   In addition, it is possible to reveal more of "I.T"'s structure in
   other interfaces, like this:
   

  INTERFACE IRep;

  IMPORT I;

  TYPE
    TPrivate = I.TPublic OBJECT
      (* more fields *)
    METHODS
      (* more methods *)
    END;

  REVEAL
    I.T <: TPrivate;

  END IRep.

   
   
   This interface declares a type "IRep.TPrivate" that is a subtype of
   "I.TPublic". It also asserts that "I.T" is also a subtype of
   "IRep.TPrivate". A client that imports only the interface "I" has
   access only to the fields and methods in "I.TPublic" when accessing an
   object of type "I.T", but a client that imports both "I" and "IRep"
   also has access to the fields and methods in "IRep.TPrivate" when
   accessing an object of type "I.T".
   
   The "REVEAL" statement in this module simply asserts a subtype
   relation. Unlike type declarations, revelations introduce no new
   names. Hence, we could not have used the "TYPE" keyword in this case
   because the type "I.T" has already been declared once (albeit
   opaquely) in interface "I".
   
   Every opaque type must have a complete revelation. A complete
   revelation has the form:
   

  REVEAL
    T = TConcrete;

   
   
   The revelation specifies that "TConcrete" is the concrete type for the
   opaque type "T".
   
   The Modula-3 type system uses structural equivalence instead of name
   equivalence. This means that two types are equal iff they have the
   same structure. One consequence of this rule is that two types you
   might intend to be distinct may actually be equal. This can have
   unintended effects on the run-time behavior of your program. For
   example, if both types that you expect to be distinct are actually
   structurally equivalent and the two types guard two arms of a TYPECASE
   statement, the arm for the second type will never be taken.
   
   If you want to avoid accidental equalities between two types, you can
   brand one (or both) of them with the BRANDED keyword. A branded type
   is equivalent to no other type, even if it is structurally equivalent
   to some other type. In essence, the BRANDED keyword adds a bit of
   virtual structure to the type that guarantees it will be distinct from
   every other type.
   
   The Modula-3 syntax allows you to supply a text constant as a name for
   the brand. If you don't supply an explicit brand, the compiler will
   make one up; however, the implicit brand invented by the compiler is
   not guaranteed to be chosen deterministically. Hence, explicit brands
   are useful if you are communicating types from one process to another
   and if you want to be sure that the branded type written by one
   process matches the branded type read in by the other.
   
   Any two opaque types in a program must be distinct. Otherwise, it
   would be too easy for clients to accidentally trip over type
   collisions like the TYPECASE example mentioned above. To enforce the
   restriction that all opaque types are distinct, the language requires
   that the type "TConcrete" in the complete revelation above must be a
   branded type.
   
Why uppercase keywords

   
   
   Some people prefer uppercase keywords others hate them. Another
   possibility is to accept both forms for keywords. This topic has been
   discussed at length and there is no solution that will completely
   satisfy everyone's tastes. Fortunately this is a very minor issue and
   you can easily have lowercase keywords automatically converted for you
   using a macro package like m3su (pion.lcs.mit.edu:/pub/m3su) for
   emacs.
   
   lowercase keywords macro
   
M3build versus Make or why m3 does not work

   
   
   The Modula-3 compiler m3 does a much finer grained dependency analysis
   than possible with make. For this reason, a very flexible front end,
   m3build, reads the program description files, m3makefile, and
   generates the commands required to compile and link Modula-3 programs
   and libraries. The m3makefile content is documented in the m3build
   documentation. Calling the m3 compiler directly is difficult and thus
   not recommended.
   
Missing RTHooks or similar messages

   
   
   The standard library, libm3, is not included by default. You need in
   your m3makefiles to import(``libm3'') or to import a library which
   imports libm3. Otherwise, messages about run time procedures such as
   RTHooks not being available are produced.
   
   m3build
   
The program receives a SEGV signal under the debugger

   
   
   The garbage collector on some platforms uses the SEGV (segmentation
   violation) signal to detect modified portions of the dynamically
   allocated space. It is possible to disable this feature or to inform
   the debugger to let these signals propagate. See the tips on how to
   use the debugger.
   
   debugging
   
What is M3-lite, MS-Windows support

   
   
   M3-lite is a research project at DEC SRC to see how fast Modula-3
   programs could be compiled and linked. It uses an integrated m3build,
   m3 compiler and code generator (based on Burs) and is targeted at
   Win32 (Windows NT or Windows Chicago). Research projects, by
   definition, do not have release dates. Part of this work, when ready,
   may also serve on other platforms, especially LINUX and FreeBSD since
   they are intel based.
   
Global Offset Table overflow on SPARC

   
   
   From Sam Kendall (kendall@mv.mv.com):
   
   The problem: when I tried to m3build/m3ship netobj/stubgen I got the
   following error during the linking process:
   

  -> linking stubgen
  ld: GLOBAL_OFFSET_TABLE overflown: need to use -PIC
  Fatal Error: program "/bin/cc" failed, exit status = 1024
  *** error code 1 (ignored)

   
   
   The solution: modify boot-SPARC/m3build/templates/SPARC to change two
   occurrences of "pic" to "PIC". Also find the file
   m3utils/m3build/templates/SPARC and change the following lines to have
   "PIC" instead of "pic":
   

  "-Y1@/bin/cc@-pic@",
  "-Y6@" & LIB_USE & "/m3cgc1@-quiet@-fpic@",

   
   
Exceptions raised by X or Network Objects applications

   
   
   Graphical applications (based on Trestle/X Windows) raise the
   TrestleComm.Failure exception when the DISPLAY environment variable is
   incorrect or the X server is refusing the connection. They raise
   MachineIDPosix.Failure if the network configuration files are
   incorrectly set up, especially on LINUX; /etc/hosts must contain at
   least a loopback address (127.0.0.1) and the /etc/rc scripts an
   appropriate ifconfig command (/etc/ifconfig lo 127.0.0.1; /etc/route
   add 127.0.0.1). Applications with Network Objects may also raise
   exceptions or consume all the CPU time available when the network
   configuration files are incorrect.
   
X libraries not found

   
   
   The position of X libraries is stored in, for instance for
   pre-compiled LINUX binaries, the template file m3build/templates/LINUX
   as well as in X11R4/LINUX/.M3EXPORTS. Thus you may want to edit these
   files if your X libraries are located in an uncommon place.
   
                                     FTP
                                       
   
   
How To Obtain Pre-Compiled Binaries

   
   
   The following binaries are available for FTP. If you are willing to
   provide binaries for other architectures, please contact
   dagenais@vlsi.polymtl.ca; they may be put on his FTP server or links
   to your server can be included in the FAQ. The full exploded source
   code tree is available along with the SPARC binaries.
   
     * Release 3.4 SPARC binaries. Contains most of the 3.4 release and
       comes with static and shared libraries. If you have problems
       building the 3.4 release for SPARC, you may want to look at the
       lude/modula3-3.4/src/poly directory as it contains all the locally
       modified files. The original source code is available in
       lude/modula3-3.4/src/orig and may be browsed to see examples of
       m3makefiles amd Modula-3 code. Requesting a directory with .tar.Z
       added to its name will automatically generate the corresponding
       compressed tar file.
       
       It can be retrieved from
       ftp.vlsi.polymtl.ca:lude/modula3-3.4/run/poly.tar.Z and should be
       placed in /usr/local/soft/modula3-3.4/run/poly... Then,
       /usr/local/soft/modula3-3.4/run/poly/sun4.1_sparc/bin must be
       added to your path. Compiled by Michel Dagenais.
       
       SPARC Modula3-3.4 
       
     * Release 3.4 LINUX binaries. It can be retrieved from
       ftp.vlsi.polymtl.ca:pub/m3/linux/src-m3-3.4l0.tar.gz and should be
       placed in /usr/local/soft/modula3-3.4... Then,
       /usr/local/soft/modula3-3.4/run/bin must be added to your path.
       Compiled by Michel Dagenais.
       
       LINUX Modula3-3.4 
       
     * Release 3.3 HPPA binaries. It can be retrieved from
       ftp.vlsi.polymtl.ca:pub/m3/hppa. Compiled by Bert Laverman.
       
       HPPA Modula3-3.3 
       
     * Release 3.3 68000 NeXT binaries. It can be retrieved from
       ftp.vlsi.polymtl.ca:pub/m3/next. Compiled by Thomas Neumann.
       
       NeXT Modula3-3.3 
       
     * Release 3.3 68000 FreeBSD binaries. It can be retrieved from
       ftp.vlsi.polymtl.ca:pub/m3/freebsd. Compiled by Olaf Wagner.
       
       FreeBSD Modula3-3.3 
       
   
   
What if I don't have ftp access?

   
   
   Unfortunately, DEC SRC cannot deliver Modula-3 other than by anonymous
   ftp.
   
   Fortunately, Prime Time Freeware (PTF) includes Modula-3. PTF is a set
   of two ISO-9660 CDroms filled with 3GB of freeware, issued
   semi-annually. The latest issue, Volume 1, Number 2, July 1992,
   contains SRC Modula-3 2.07. PTF is distributed via bookstores and
   mail. You can reach PTF using:
   

        Email:  ptf@cfcl.com
        Fax:    [1] (408) 738 2050
        Voice:  [1] (408) 738 4832
        Mail:   Prime Time Freeware
                415-112 N. Mary Ave., Suite 50
                Sunnyvale, CA 94086
                USA

   
   
                                CONTRIBUTING
                                       
   
   
Can I contribute Modula-3 software?

   
   
   Certainly. Send to m3-request@src.dec.com what you are willing to
   share, be it programs, libraries or other things. They will be put in
   the distribution.
   
   Right now, the pub/DEC/Modula-3/contrib directory contains:
   
   Contrib 
   
     * m3rpc a Sun RPC system from Xerox Parc
     * M2toM3 a translator from Modula-2 to Modula-3
     * m3pc an implementation of Modula-3 for PCs.
       
   
   
   You will also find on ftp.vlsi.polymtl.ca in pub/m3:
   
   Modula-3 contributions 
   
     * present-src-m3 slides for presenting the Modula-3 tools and
       libraries.
     * cache-anim a zeus graphical animation of the computer memory
       hierarchy.
     * realgeometry a floating point geometry package.
     * sequences sequences allowing insertions in the middle.
       
   
   
   And on ftp-i3.informatik.rwth-aachen.de:
   
   Modula-3 contributions 
   
     * m23gdb a newer version of m3gdb with important fixes for most
       platforms. Peter Klein writes: It is based on gdb 4.13 with
       enhancements from Cygnus, the Modula-3 support from the Modula-3
       3.3 release, and several patches by Oliver Meyer. It should work
       now with EPC Modula-2 2.0x and SRC Modula-3 3.3, at least on
       SPARC/SunOS 4.1.3. The Modula-3 support still isn't perfect, but a
       big improvement over SRC's distributed version. See the
       README.m23gdb file for details.
       
     * m2tom3. Peter Klein writes: m2tom3 is a system to port Modula-2
       programs to Modula-3. It consists of two parts: A conversion
       program which tries to create a Modula-3 source text with the same
       semantics as the Modula-2 input while retaining the original look
       and feel as good as possible. A base library which tries to
       emulate the Modula-2 standard library using the Modula-3 standard
       library.
       
     * Peter Klein writes: A demo version of the development environment
       we are working on in the ADT (Analysis and Development Tool)
       project is now available on our ftp server in
       pub/Modula-3-Contrib/adt.
       
   
   
ILU, an object-oriented multi-lingual RPC-capable module system

   
   
   The following was recently announced by Xerox PARC:
   
   Version 1.6.4 of the Xerox PARC Inter-Language Unification (ILU)
   system is now available for general use.
   
   WHAT'S ILU?
   
   ILU (pronounced eye'-loo) is a system that promotes software
   interoperability via interfaces. Interfaces between what? Whatever
   units of program structure are desired; we call them by the generic
   term "modules". They could be parts of one process, all written in the
   same language; they could be parts written in different languages,
   sharing runtime support in one memory image; they could be parts
   running in different memory images on different machines (on different
   sides of the planet). A module could even be a distributed system
   implemented by many programs on many machines. Calls across ILU
   interfaces involve only as much mechanism as necessary for the calling
   and called modules to interact. In particular, when the two modules
   are in the same memory image and use the same data representations,
   the calls are direct local procedure calls - no stubs or other RPC
   mechanisms are involved.
   
   ILU modules are known by their interfaces. A module interface is
   specified once in ILU's object-oriented Interface Specification
   Language (called, simply, ISL). For each of the particular programming
   languages supported by ILU (currently Common Lisp, ANSI C, C++, and
   Modula-3; Python, Tcl, and GNU Emacs-Lisp are in the works), a version
   of the interface in that particular programming language can be
   generated. The ILU kernel library provides services which may be used
   by the language-specific interface to overcome intermodule language or
   address space differences.
   
   GETTING THE RELEASE
   
   The release is only available via FTP from the PARC ftp server.
   Perhaps the simplest way is to go through our World Wide Web home
   page,
   
   ILU 
   
   CONTRIBUTORS
   
   Antony Courtney, Doug Cutting, Bill Janssen, Denis Severson, Mike
   Spreitzer, Mark Stefik, Farrell Wymore
   
                            MODULA-3 FOR TEACHING
                                       
   
   
   Modula-3 is very well suited for teaching: simple yet powerful, and
   safe. It avoids the complexity of legacy languages. It can be used to
   demonstrate modules and interfaces, object oriented programming,
   multi-threading (concurrency issues), graphical user interfaces
   (Trestle, VBTKit, FormsVBT) and even distributed programming (Network
   Objects, Obliq). Since less time is spent by students and teaching
   assistants chasing dangling pointers and corrupted data, more time is
   available for learning the important concepts.
   
   It is used for teaching in a number of universities. This list is far
   from complete, send corrections and additions to
   dagenais@vlsi.polymtl.ca.
   
   From: Carsten Whimster (bcrwhims@undergrad.math.uwaterloo.ca)
   
   University of Waterloo:
   
   CS246 - Third introductory course in computer science. Software
   engineering and software systems. Medium size projects. Uses Modula-3
   to demonstrate proper OO programming, as well as general programming
   practices.
   
   CS241 - Fourth and final intro course to CS. Focuses mainly on
   compilers and languages. Various assignments has students create most
   of the different parts of a compiler. Also introduces Scheme (lisp).
   
   From: Peter.Robinson@cl.cam.ac.uk
   
   University of Cambridge, England.
   
   The Computer Science course at the University of Cambridge teaches ML
   as an introductory language at the beginning of the freshman year, and
   then uses Modula-3 to develop imperative programming at the end of
   that year. Further lectures on advanced features of the language are
   given early in the second year, together with separate lectures on
   other, specialised languages.
   
   The course has been given to about 70 students each year since 1990,
   and has developed with the language. It ties in with other lectures on
   data structures and algorithms, software engineering and concurrency.
   Modula-3 is used for student group projects in the second year and for
   about a quarter of individual projects in the final year (where,
   interestingly, students using Modula-3 tend to earn higher grades than
   those using C/C++).
   
   Modula-3 is also used in the Computer Laboratory at Cambridge for a
   number of research projects on distributed computing, human-computer
   interaction and electronic CAD.
   
   From: Matthew.Huntbach@dcs.qmw.ac.uk
   
   We have used it for three years here at Queen Mary and Westfield
   College, London. The main problem I find with the language is the slow
   compilation speed on our teaching machines (Macs running A/UX),
   otherwise it's a nice language to teach with.
   
   From: laszlo@ifi.uni-klu.ac.at (Laszlo BOESZOERMENYI)
   
   University Klagenfurt
   
   Modula-3 is used at the following courses: Undergraduate:
   Softwaretechnology-1 (actually an introduction into programming) (on
   PCs) Softwaretechnology-2 (data structures and algorithms) (on PCs)
   Graduate: Computer Networks (on a network of DECs and SUNs) Parallel
   Programming (on an DEC-Alpha Farm)
   
   Modula-3 has been in use since ca. one year, with very good
   experiences.
   
   From: pk@i3.informatik.rwth-aachen.de (Peter Klein)
   
   Lehrstuhl fuer Informatik III, RWTH Aachen, Germany: Software
   Development Projects, now held for the second time using Modula-3. Aim
   of these projects is to introduce different aspects of software
   development to graduate students. This includes project planning,
   supervision, design, and cooperative implementation of small but
   usable software systems. Central ideas of software design and
   object-oriented implementation are presented and discussed with the
   concepts of Modula-3, which is also the implementation language.
   
   Future plans: Maybe Modula-3 will replace Modula-2 in some
   undergraduate programming lectures in the future.
   
   From: viggo@nada.kth.se
   
   Royal Institute of Technology. Several courses at the computer science
   department use Modula-3. The courses contain programming projects, and
   many students choose to use Trestle. (Dr. Viggo Kann,
   viggo@nada.kth.se)
   
   From: "Dave Snelling" (snelling@cs.man.ac.uk)
   
   Department of Computer Science, University of Manchester, Manchester
   U.K. We have a small, interdisciplinary collection of people using
   Modula-3 for a variety of activities. Our major production code is a
   hardware architecture simulator (about 120 modules). Smaller projects
   include a Lattice Gass model and a Shallow Water model.
   
   At: University of Massachusetts at Amherst
   
   Modula-3 is used as an input language for the Computer Science course
   on Compilation techniques. The professor is Eliot Moss.
   
   From: Michel Dagenais (dagenais@vlsi.polymtl.ca)
   
   Modula-3 is used as the main example in an undergraduate course on
   object oriented programming and in a graduate course on ``Algorithmic
   Aspects of CAD'', which includes a large portion on OO programming and
   databases.
   
   From: pbh@cs.sunysb.edu (Peter Henderson)
   
   Modula-3 is currently used for teaching Computer Science I and
   Computer Science II at SUNY at Stony Brook. We are currently
   developing a sequence of laboratory assignments and case studies
   introducing OO techniques and software reuse in these two courses.
   
   The first course for computer science majors at Stony Brook is
   "Foundations of Computer Science" which emphasizes general problem
   solving, mathematics and the relationships between mathematics and
   computer science. There is an extensive laboratory component using
   theorem provers, Prolog and Standard ML.
   
                            MODULA-3 IN INDUSTRY
                                       
   
   
   A number of programming teams in industry selected Modula-3 for their
   project. It encourages good programming practices and comes with
   excellent libraries for distributed programming and graphical user
   interfaces.
   
   From: gwyant@cloyd.East.Sun.COM (Geoffrey Wyant - Sun Microsystems
   Labs BOS)
   
   Sun Microsystems Laboratories, Inc. (East) is using Modula-3 (Network
   Objects, FormsVBT) as the basis for its research in large scale
   distributed object systems.
   
   From: Farshad Nayeri (nayeri@gte.com)
   
   Distributed Object Computing, GTE Labs, Waltham, Massachusetts USA
   Modula-3 (FormsVBT, Sx, Netobj libraries) is used to prototype
   distributed object management. (Farshad Nayeri nayeri@gte.com).
   
   Report 
   
                              WORK IN PROGRESS
                                       
   
   
   The purpose of this section is to let everyone know what is being
   worked on. This is not a commitment to a quick release or even to
   completion. However it may enable parties interested in the same
   topics to pool their efforts, avoid duplication or better integrate
   their packages.
   
   To find more information about the names mentioned, see the Who's Who
   section.
   
The SRC Compiler

   
   
   The compiler already implements the full language and runs on several
   platforms. Speed enhancements and support for some popular non-Unix
   platforms may be expected.
   
Integrated Development Environment

   
   
   A number of groups have made experiments in this area. Tools such as
   VBTkit for the user interface, m3tk for syntax and dependency
   analysis, dynamic linking... could be used to produce such an
   environment. It is worth noting that precompiled interfaces are much
   easier to achieve in M3 than in several other popular languages.
   
   Peter Klein is working on a Modula-3 development environment and
   associated user interface. See the paper entitled ``Designing Software
   with Modula-3'', it describes a software architecture description
   language based on Modula-3.
   
   Report ftp.informatik.rwth-aachen.de/pub/reports/1994/94-16.ps.gz
   
   Klaus Preschern, Carsten Weich, Laszlo Boszormenyi have made the port
   of Modula-3 to the PC. The M3-PC environment will be enhanced,
   especially with threads and graphics, including a student-friendly
   environment.
   
   David N. Gray of Lucid Inc. has been experimenting with connecting the
   Modula-3 compiler with the Lucid Energize Programming System
   (currently sold as a development environment for C and C++ on Sun
   SPARCstations). The modified compiler is available as an unsupported
   as-is hack, to accompany the new Energize release that it works with.
   
   Energize Modula-3
   
   Geoff Wyant is experimenting with FormsVBT/VBTKit to build a simple
   friendly development environment.
   
Windowing And User Interfaces

   
   
  ROTATED TEXT
  
   
   
   Currently, there is no VBT to show non horizontal text, because of X
   windows limitations. This would be desirable and can be implemented in
   one of the following ways: a) open a pipe to the ghostscript
   Postscript interpreter and use it as a font renderer, cache and
   display the character bitmaps produced; b) have Bezier curves for the
   most popular Postscript fonts, Trestle handles Bezier curves; c) use
   the new text facilities in X11R6 that remove previous limitations. A
   prototype implementation of a) has been implemented by Alain Dube
   (contact Michel Dagenais); the performance with the cache is good but
   this remains a relatively complex solution. The b) solution would be
   relatively easy to implement but the resulting quality may not be as
   good as a real font renderer. The c) solution may not be available for
   some time since many workstation vendors take a long time before
   integrating the new X windows facilities.
   
  POSTSCRIPT VBTS
  
   
   
   It is often useful to display Postscript files in a VBT, for example
   for an included diagram in a document editor.
   
   This can be achieved by using the ghostscript Postscript interpreter
   as a rasterizer. A prototype has been programmed by Alain Dube
   (contact Michel Dagenais) but the performance is not too good when
   large color bitmaps are handled. An alternative implementation is to
   convert Postscript files into display lists (Bezier curves and text)
   as a preprocessing step. Further displaying and even editing becomes
   very simple. A prototype implementation of this has been done by
   Benoit Poirier (contact Michel Dagenais).
   
Persistence through reachability

   
   
   Tony Hosking and Eliot Moss are working on persistent Modula-3
   objects. The main features are persistence through reachability, load
   on demand and a very low overhead for using persistent objects. The
   high performance is obtained by modifying the compiler and run-time.
   Initially a modified version of GCC, GNU M3, was being worked on.
   However, with the release of the SRC native compiler, the
   modifications are being moved to the SRC compiler instead.
   
   Persistency 
   
Abstract Syntax Tree Tools (M3 Parser)

   
   
   The m3tk library can be used to analyze Modula-3 source code in order
   to find specific constructions (use of OBSOLETE facilities, un-handled
   exceptions), build source code browser and analysis tools, stubs
   generators for network or persistent objects... Mick Jordan is working
   on the documentation, in his spare time.
   
   From: hudson@yough.ucs.umass.edu (Rick Hudson)
   
   If anyone is interested we have developed a Bison grammar that parses
   the Modula-3 language input. If interested please feel free to contact
   me hudson@cs.umass.edu.
   
Computer Assisted Learning Tools (Algorithm Animation)

   
   
   The Zeus Algorithm Animation package may be used to quickly develop
   graphical and animated teaching aids. Most of the algorithms described
   in Robert Sedgewick's Algorithms book have been animated at DEC SRC
   through the work of Marc H. Brown.
   
   Animation of compilation techniques have been produced by students at
   University of Illinois with the help of Marc Najork.
   
   From: "Arnulf Mester" (mester@ls4.informatik.uni-dortmund.de)
   
   As part of a studental project advised by a college of mine and me a
   Mentor-like collection of Zeus-based animations of typical distributed
   algorithms and communication protocols (termed ZADA) has been
   compiled. Hopefully I'll get to include more information and access
   during the next weeks into our ZADA WWW home page
   
   ZADA 
   
Presentations, Tutorials And Teaching Material

   
   
   Modula 3 is used for teaching in a number of Universities. Some
   Modula-3 related teaching material may be shared between interested
   parties.
   
   Michel Dagenais has a French presentation about the Modula 3 language
   that could be distributed.
   
   Geoff Wyant has prepared a tutorial on Modula-3 for OOPSLA.
   
Reports And Books

   
   
   Sam Harbison is preparing a revised version of his existing book on
   Modula-3. He may include more material on the new libraries.
   
   Laszlo Boszormenyi, Roland Mittermeir and Carsten Weich are working on
   a book (it will be published in German and in English) with the
   work-title:
   
   "Programming in Style - An Introduction into Programming with
   Modula-3"
   
   The book will be published at Springer (in German in October 1994, in
   English maybe or December, or January 1995). For the book, the M3-PC
   environment will be enhanced, especially with threads and graphics,
   including a student-friendly environment.
   
   From: BERGINF@PACEVM.DAC.PACE.EDU (Joseph Bergin)
   
   I am also at work on a Modula-3 college level textbook. It will cover
   the data structures course and will stress data abstraction. It will
   be similar to my current book: Data Abstraction: The Object-Oriented
   Approach using C++, published by McGraw Hill. Status: The software has
   been built and I am currently writing the text itself. Joe Bergin,
   berginf@pacevm.dac.pace.edu, Pace University
   
Parallel Programming

   
   
   From: Ernst A. Heinz, University of Karlsruhe, F.R. Germany (email:
   heinze@ira.uka.de)
   
   I would like to inform you about our ongoing Modula-3* project here at
   the University of Karlsruhe. At the moment, we are actively involved
   in adding sophisticated dependence and data flow analysis to DEC's
   Modula-3 compiler (release 3.x!). The Modula-3* compiler will be able
   to generate code for real parallel machines, for networks of
   workstations, and for standard sequential execution. (Our new IPD
   Modula-2* system available by anonymous ftp from ftp.ira.uka.de in
   "pub/programming/modula2star" may give you an initial feeling about
   it!)
   
   For all interested folks I have made my JSPP'93 paper publicly
   available by anonymous ftp. The title of the paper reads as follows:
   
   "Modula-3*: An Efficiently Compilable Extension of Modula-3 for
   Problem-Oriented Explicitly Parallel Programming".
   
   Paper 
   
   More recent work includes
   
   E.A. Heinz. Sequential and parallel exception handling in Modula-3*: A
   unifying semantics specification. In P. Schulthess (editor). Advances
   in Modular Languages: Proceedings of the Joint Modular Languages
   Conference, pages 31-49, Ulm, Germany, September 28-30, 1994.
   
   Paper 
   
                                  WISH LIST
                                       
   
   
   The Modula-3 development environment now contains a large number of
   very good tools and libraries that work nicely together. The purpose
   of this section is to help contributors determine what additions would
   be helpful to others. It may get you in contact with people that would
   like to use your contribution or with people that may provide some
   items on your wanted list or team with you for their development.
   
M3Build

   
   
   The descriptions of programs and libraries stored in m3makefiles are
   simple and efficient. It would be interesting to be able to specify
   different m3-options for some files (debugging, performance
   analysis...), and to have the dependency analysis take into account
   previously used options when determining modules to recompile (Michel
   Dagenais).
   
   Although makefiles cannot perform the same consistency checks as
   m3build and are more cumbersome to use, it may be useful to be able to
   drive the compiler through makefiles for training purposes (i.e. learn
   Modula-3 and Makefiles at the same time)
   (bwbecker@watdragon.uwaterloo.ca).
   
Coverage And Performance Analysis

   
   
   Tools already exist for coverage analysis, pretty printing,
   performance analysis, viewing the threads and the garbage collected
   heap. It would be nice to have these easily accessible through an
   integrated development environment (Michel Dagenais).
   
More VBTs

   
   
   An editor widget with multiple fonts (fixed and proportional character
   spacing) perhaps even with direct support for HTML (item lists,
   centered headings...) (Geoff Wyant, Farshad Nayeri).
   
   A diagram editor widget (Farshad Nayeri).
   
   A split VBT that positions NxM childs in aligned rows and columns
   (Geoff Wyant).
   
   A Graph VBT that displays arbitrary graphs (such as call trees, cross
   references...). This could be implemented adding a placement module
   (to determine the vertex positions) to work on the existing GraphVBT
   module (Geoff Wyant).
   
   Some of the VBTs implemented in miscellaneous libraries (such as
   GraphVBT in Mentor/Zeus) could be placed in a more visible location
   such as VBTKit (Michel Dagenais).
   
   MIME extensions to Postcard (Farshad Nayeri).
   
   Submit Trestle to a graphical designer (Farshad Nayeri).
   
Distributed Computing (Network Objects)

   
   
   Network objects are an exciting recent addition. The underlying model
   is very simple and effective. Authentication and access control will
   be required in many applications.
   
   A network object daemon that starts specific programs upon need, like
   inetd does using inetd.conf for most network services, would be very
   useful (Michel Dagenais).
   
Interfaces To Other Libraries And Programs (Tcl, Dps...)

   
   
   C functions are easily called from Modula 3. Thus, stubs have been
   produced to access John Ousterhout's Tcl and also Display Postscript
   from Modula 3.
   
   An automatic tool to produce such stubs from .h C files would be very
   useful (Geoff Wyant).
   
   Stubs to access the Motif X Windows library would be useful (Geoff
   Wyant).
   
   Similar stubs would be desirable to access databases such as Postgres
   or Exodus and access/provide World Wide Web information using the
   hypertext transfer protocol libraries (HTTP) (Geoff Wyant).
   
                                  WHO'S WHO
                                       
   
   
   Modula-3 enthusiasts, users or contributors. Please notify me for
   additions, corrections or removals.
   
     * Robert Ayers, Adobe, (ayers@Mv.Us.Adobe.Com), the Display
       Postscript to Modula-3 interface
     * Andrew Birrell, DEC SRC, (birrell@src.dec.com), Network objects.
     * Laszlo Boeszoermenyi, Universitaet Klagenfurt, Austria,
       (laszlo@ifi.uni-klu.ac.at), PC port (m3pc), Programming in style
       book.
     * Marc H. Brown, DEC SRC, (mhb@src.dec.com), VBTKit, FormsVBT, Zeus.
     * Luca Cardelli, DEC SRC, (luca@src.dec.com), Modula-3 definition,
       Obliq.
     * Michel Dagenais, Ecole Polytechnique de Montreal,
       (dagenais@vlsi.polymtl.ca), LINUX and SPARC M3 binaries, M3 FAQ.
     * John D. DeTreville, DEC SRC, (jdd@src.dec.com), Incremental
       garbage collector.
     * David N. Gray, Lucid Inc., Menlo Park, (gray@Lucid.Com), interface
       between the Lucid environment and the M3 compiler.
     * Sam Harbison, Tartan, harbison@tartan.com, Modula-3 book.
     * Ernst A. Heinz, University of Karlsruhe, F.R. Germany
       (heinze@ira.uka.de)
     * Allan Heydon, DEC SRC, (heydon@src.dec.com), IP, Lex, Fmt, PQueue,
       DblBufferVBT modules.
     * Jim Horning, DEC SRC, (horning@src.dec.com), Useful Modula-3
       interfaces.
     * Tony Hosking, Purdue University, (hosking@cs.purdue.edu),
       Persistent Modula-3.
     * Rick Hudson, University of Massachusetts at Amherst,
       (hudson@cs.umass.edu), GNU Modula-3.
     * Mick Jordan, Sunlabs near Palo Alto, mick.jordan@eng.sun.com,
       Modula-3 definition, M3TK and related tools.
     * Bill Kalsow, DEC SRC, (kalsow@src.dec.com), Modula-3 definition,
       M3 compiler and run-time.
     * Peter Klein, Lehrstuhl fuer Informatik III,
       (pk@i3.informatik.rwth-aachen.de). Modula-2 to Modula-3 converter,
       m3gdb improvements.
     * Bert Laverman, Groningen University, (laverman@cs.rug.nl), HPPA
       support.
     * Mark S. Manasse, DEC SRC, (msm@src.dec.com), Trestle.
     * Paul McJones, DEC SRC, (mcjones@src.dec.com), Useful Modula-3
       interfaces.
     * James R. Meehan, Adobe (jmeehan@mv.us.adobe.com), VBTKit,
       FormsVBT.
     * Roland Mittermeir, Universitaet Klagenfurt, Austria,
       (mittermeir@ifi.uni-klu.ac.at), Programming in style book.
     * Eliot Moss, University Of Massachusetts At Amherst,
       (moss@Cs.Umass.Edu), GNU Modula-3.
     * Eric Muller, DEC SRC (moved?), (muller@src.dec.com), M3 compiler
       and run-time.
     * Marc Najork, DEC SRC, (najork@src.dec.com), 3D animation.
     * Greg Nelson, DEC SRC, (gnelson@src.dec.com), Modula-3 definition,
       Systems Programming with Modula-3 book editor, Trestle, Network
       objects.
     * Farshad Nayeri, GTE Labs Near Boston, (nayeri@Gte.Com), m3-sparc
       mailing list.
     * Frode Odegard, (frode@Odegard.Com), commercial Modula-3 support.
     * Susan Owicki, Stanford University, (owicki@mojave.stanford.edu),
       Network objects.
     * Klaus Preschern, Universitaet Klagenfurt, Austria,
       (preschern@ifi.uni-klu.ac.at), PC port (m3pc).
     * Robert Sedgewick, Princeton University, Algorithms in Modula-3
       book.
     * Jorge Stolfi, University of Campinas, Brazil,
       (stolfi@dcc.unicamp.br), Computational geometry procedures.
     * Carsten Weich, Universitaet Klagenfurt, Austria,
       (weich@ifi.uni-klu.ac.at), PC port (m3pc), Programming in style
       book.
     * Edward Wobber, DEC SRC, (wobber@src.dec.com), Network objects.
     * Geoff Wyant, Sunlabs Near Boston, (gwyant@East.Sun.COM), SPARC
       port.
       
   
   
   
     _________________________________________________________________
   
   
   
    Michel Dagenais, dagenais@vlsi.polymtl.ca, Mon Feb 13 14:20:30 EST
    1995
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 116 ===
Date:    Tue, 14 Feb 95 15:28:26 -0800
From:    najork@pa.dec.com (Marc Najork)
Subject: Re: Q: Why only build in LINUX/*


Your sources should not be in a directory mumble/LINUX, they should 
be in a directory mumble/src. 

The SRC Modula-3 model for keeping sources and derived files apart
goes as follows: 

  (1) Put all your sources files in a directory mumble/src
  
  (2) If you are, say, on a Linux box, your current directory when 
      typing "m3build" can be:
        (a) mumble
        (b) mumble/src
        (c) mumble/LINUX
      In any of these cases, the compiler will check if the directory
      mumble/LINUX exists, create it if necessary, and put all the
      derived files (including the final library or executable) into it.

The obvious advantage of this model is that it deals gracefully with 
heterogeneous workstations sharing a common file system.  The derived 
files for a particular architecture are placed in the subdirectory 
for this architecture.

For example, assume you live in an environment with DECstations, 
Digital Alphas, and PCs running Linux (DEC PCs of course :-), and 
you want to compile a program Main.m3 to create an executable MyApp.  
Running m3build on all three platforms will yield the following 
directory/file tree:


   mumble/
     src/
       m3makefile
       Main.m3
     DS_3100/
       ...
       MyApp/
     ALPHA_OSF
       ...
       MyApp
     LINUX/
       ...
       MyApp




----- Marc Najork ---- najork@src.dec.com ---- (415) 853-2153 -----
DEC Systems Research Center, 130 Lytton Avenue, Palo Alto, CA 94301
-------- http://www.research.digital.com/SRC/people/najork --------


======================================================================= 117 ===
Date:    Mon, 13 Feb 1995 21:59:32 GMT
From:    lalbers@dozy.hrz.uni-bielefeld.de ( Leif Albers)
Subject: Q: Why only build in LINUX/*

Hello out there,
This is not a very important thing, but...

When I try to compile my Modula-3 programs, it only works, if
the source files are in a directory ".../LINUX". If this is the
case, I can compile and run programs without any
problems (if the directory is ".../xxx/LINUX", I need to start
m3build in ".../xxx"). I just happen to know, that I am running
a Linux system and it drives me nuts to put every program in a
"double"-directory (like ".../myprogram/LINUX". Or, in other
words, I have the feeling I did something wrong.

I am running a Linux machine, and I use the SRC-3.3 compiler,
that resides on sunsite.

Thanks for reading this ridicolous stuff...
Leif.

P.S.: I already tried to name the variable BUILD_DIR (I believe
that was its name) to ".". The effect was, that it worked
correct, if I ran m3build directly the source directory (like
".../xxx/LINUX"). Nevertheless m3build still insisted on the
ending of the directory name "LINUX".

P.P.S: Is there a FAQ file for SRC-M3?



======================================================================= 118 ===
Date:    14 Feb 1995 09:05:49 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: Re: Q: Why only build in LINUX/*



Actually, the FAQ came across as the article before yours on my site,
which I found amusing.

In any event, put the sources in .../xxx/src and run m3build in
.../xxx

It will create .../xxx/LINUX and put the .o's and binaries there.

This is a good thing, because it means you can NFS mount one source
dir on multiple architectures and automatically have things not
conflict.  I run the following versions of SRC Modula-3: IRIX, HPPA,
SPARC, SOLgnu, and soon a version for Solaris x86 (SOLgnu86?) and
Windows NT (WINNT).  All from the same directory hierarchy.


======================================================================= 119 ===
Date:    16 Feb 1995 03:22:44 GMT
From:    sfiresto@interserv.com
Subject: SAVE TAX DOLLARS!!!

                    SAVE TAX DOLLARS!!!
                    ===================

Did you know that your PC, home office, and equipment
may be tax deductible under current tax laws?  This is
true even if you use your PC in very limited business
applications!

Federal tax laws are often confusing and most tax
preparation services do not understand the significant
savings that your investment in office and computing
equipment may qualify you for. 

Based on a legal brief by a prominent Los Angeles tax
attorney for his celebrity clients, this is an easy-to-
read, step-by-step guide to home office tax deductions.  

This write-up is written in plain English and covers all
current tax law.  It is an invaluable aid to legal tax
deductions.

Others have paid hundreds and even thousands of dollars
for this expensive service.  Now you can have this
valuable money-saving information for only $7.95!

With April 15 coming soon, you have no time to lose.  
If you pay U.S. taxes and use a portion of your home 
for business purposes, you need this write-up!

E-mail for further information.



======================================================================= 120 ===
Date:    15 Feb 1995 19:58:48 GMT
From:    nayeri@gte.com (Farshad Nayeri)
Subject: Re: Per-class encapsulation considered harmful

In article <D405t1.nz@walter.bellcore.com> haim@cc.bellcore.com (Haim Kilov) wr
ites:

   In article <3ho2n1$cjk@charles.cdec.polymtl.ca>
   linus@step.polymtl.ca (Linh Dang) writes:

   > I know very little about M3 but there's something I'm a bit
   > unconfortable with. There's neither per-class (like C++) nor
   > per-object (like ST) information hiding. The protection is
   > per-module !!!! If two types T1 and T2 are implemented in module M,
   > then there's no protection between T1 and T2. Object methods in
   > M3 are, IMHO, unconventional (revolutionary ???)

   I am not a Modula3 expert, but _if_ the abovementioned is correct
   then it implements a great idea! In specification development
   (a.k.a. business analysis, information modeling, etc.) there often
   -- more often than not -- exists a need for per-module
   encapsulation. Consider joint behavior: invariants that define
   relationships (collections of objects), as well as operations the
   contracts for which refer to properties of several objects. (If you
   wish, "no side-effects").

Information hiding in Modula-3 works via a combination of object type
and interface language features.

In Modula-3, if T1 and T2 are implemented in the same module M then
everyone inside the module M can see the definitions for T1 and T2.
However, M can export one or more interfaces which reveal different
levels of information about T1 and T2. When clients of M require
access to M's functionality, they must import one or more of M's
exported interfaces. A client can only "see" what the interface it
imported reveals about the module. So information hiding takes place
in the inter-module boundries.

I would also like to address Linh's concern about the complete
revelation within the same module issue. When implementing a program
or library in Modula-3, you may still apply the above module/interface
information hiding mechanism to structure your implementation itself
into several modules and interfaces which (internally) reveal the
right amount of inter-module information.

This use of interfaces for information hiding is a more general and
flexible way of providing access control than that provided by most
comparable programming languages: public, private, protected, and
friend "access modes" become mere conventions in Modula-3.  I have
found that in practice, this works very well, especially for writing
large programs.

Finally, from the Modula-3 FAQ, I quote Allan Heydon's remarks on
comp.lang.modula3, May 4th 1993:
   
   Modula-3 provides two separate mechanisms for data-hiding: one for
   hiding details about how interfaces are implemented, and the other for
   hiding details about how objects are implemented.
   
   The first data-hiding mechanism is realized by the distinction between
   interfaces and modules. Clients can only import interfaces, so the
   names declared in the modules implementing those interfaces are hidden
   from clients. Note that this mechanism has only two levels; a name is
   either declared in an interface, or it isn't. If a name is only
   declared in a module, it can't be used by a client.
   
   The second data-hiding mechanism is realized by opaque types and
   revelations. A Modula-3 interface may declare an object type to be
   opaque, in which case only a subset of the fields and methods of that
   object are revealed to clients importing the interface. Furthermore,
   the Modula-3 revelation mechanism allows a designer to reveal
   successively more fields and methods of an object in a series of
   interfaces. The fields and methods visible to a client then depends on
   which interfaces the client imports.
   
   The latter mechanism is quite flexible. As opposed to the
   interface/module data-hiding mechanism, opaque types allow you to
   define an arbitrary number of levels at which more and more
   information about the implementation of your object is revealed.
   
   See Sections 2.2.10, 2.4.6, and 2.4.7 of ``Systems Programming with
   Modula-3" for more information about opaque types and about partial
   and complete revelations.
   
See the Modula-3 home page for more information:

   http://www.research.digital.com/SRC/modula-3/html/home.html

-- Farshad

--
Farshad Nayeri
nayeri@gte.com


======================================================================= 121 ===
Date:    16 Feb 1995 21:13:03 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: Problems building standalone 3.5.1 on Solaris 2.3 (SOLgnu)

With the distributed template for SOLgnu, I get the following error
trying to link netobjd (which had build_standalone() specified in the
m3makefile). 

 -> linking netobjd
generate _m3main.new
compare _m3main.new _m3main.c
rm _m3main.new
gcc -compat-bsd -static -o netobjd _m3main.o NMonRegistrySvr.io NMonRegistrySvr
.mo NetObjDaemon.mo -L/proj/graphics/software/modula3/v3.5.1/lib/m3/pkg/netobj/
SOLgnu -lm3netobj -L/proj/graphics/software/modula3/v3.5.1/lib/m3/pkg/tcp/SOLgn
u -lm3tcp -L/proj/graphics/software/modula3/v3.5.1/lib/m3/pkg/libm3/SOLgnu -lm3
 -L/proj/graphics/software/modula3/v3.5.1/lib/m3/pkg/m3core/SOLgnu -lm3core -ls
ocket -lnsl -lm
ld: fatal: library -laio: not found
ld: fatal: symbol `_mkarglst' is multiply defined:
        (file /usr/ucblib/libucb.a(doprnt.o) and file /usr/lib/libc.a(doprnt.o)
);
ld: fatal: symbol `_doprnt' is multiply defined:
        (file /usr/ucblib/libucb.a(doprnt.o) and file /usr/lib/libc.a(doprnt.o)
);
ld: fatal: symbol `_getarg' is multiply defined:
        (file /usr/ucblib/libucb.a(doprnt.o) and file /usr/lib/libc.a(doprnt.o)
);
ld: fatal: File processing errors.  No output written to netobjd

Fatal Error: program "gcc" failed, exit status = 256

*** error code 1 (ignored)

The first problem is, there is no libaio.a, only /usr/lib/libaio.so.
Now, if I link by hand, making gcc link only the m3 libraries
statically and the system libraries dynamically, it works:

gcc -compat-bsd -Xlinker -dy -Xlinker -Bstatic -o netobjd _m3main.o NMonRegistr
ySvr.io NMonRegistrySvr.mo NetObjDaemon.mo -L/proj/graphics/software/modula3/v3
.5.1/lib/m3/pkg/netobj/SOLgnu -lm3netobj -L/proj/graphics/software/modula3/v3.5
.1/lib/m3/pkg/tcp/SOLgnu -lm3tcp -L/proj/graphics/software/modula3/v3.5.1/lib/m
3/pkg/libm3/SOLgnu -lm3 -L/proj/graphics/software/modula3/v3.5.1/lib/m3/pkg/m3c
ore/SOLgnu -lm3core -Xlinker -Bdynamic -lsocket -lnsl -lm

The difference here is that we pass "-dy -Bstatic" through instead of
specifying "-static", and make add "-Bdynamic" before the system libs.

The problem is that I can't see how to modify the template to
accomplish this.  I can change the build_standalone to accomplish the
first change:

proc build_standalone() is
   % --- reset the linker to avoid shared libraries.
   M3_CONFIG += "-Y2@gcc@-compat-bsd@-Xlinker@-dy@-Xlinker@-Bstatic@"
   M3_CONFIG += "-Y6@" & LIB_USE & "/m3cgc1@-quiet@"
   M3_CONFIG += "-Y7@/usr/ccs/bin/as@-s@"
end

but I can't see how to get the second one (the "-Xlinker -Bdynamic"
before the "-lsocket -lnsl -lm" at the end of the line).  I can't just
add the "@-Xlinker@-Bdynamic" to the -z2 line, since m3 complains.

Is there a way to do this?

Thanks!  For now, I suppose I can just not link anything standalone,
unless I do it by hand.




======================================================================= 122 ===
Date:    Thu, 16 Feb 95 21:14:15 GMT
From:    cadmus@cadmusinteractive.is.net (Reggie Burnett)
Subject: Building NT binaries

I have tried building NT binaries of SRC Modula 3 3.5.1 (or something like that
).
I build quake, but now I am getting alot of "system cannot find specified file"
.

Is there anyone else out there trying to build NT binaries?

If DEC people are listening, why don't you make NT binaries available?

Reggie




======================================================================= 123 ===
Date:    16 Feb 1995 17:48:31 GMT
From:    tinkrkel@america.net (Kelly Caldwell)
Subject: Favorite OOA/OOD tools - POLL

 I am putting together a report on available OOA/OOD tools, who uses them,
how they like them, etc. When I am finished, I will post some of the stats on w
hat I found
 (no names, just stats from questionaire) that is, if you are interested. This 
poll
is NOT for marketing purposes...it is actually for a graduate report.

If you have an automated tool that you feel especially fond of, OR if you do no
t use an
automated tool, but use some other notable methodology OR you just have an opin
oin
on some of the following questions...please send me some feedback by answering 
the
 following questions (please answer as completely as you can):

     ** When you are finished, please E-mail it directly to me at tinkrkel@amer
ica.net **

.............................................................POLL..............
...............................................................................
.....
   1. What OO language (Smalltalk, C++, Objective C,  Eiffel, Obj Pascal, Modul
a, ETC.) 
        do you primarily  use?

   2. What country do you reside or work in? (Optional -just puts the other inf
ormation
        in perspective)

  3.  Do you use an automated OOA/OOD tool (Rational Rose, Cadre OO, etc.)?  
         If so,
             a. Which one?
             b.  How easy is it to use?
             c.  Does it do everything you would like it to?
             d.  Would you recommend it to others?
             e. What methodology does it use?

  4. Do you use any "hand" methodologies?
        If so,
            a. Which one?
            b. Please provide a short description (ESPECIALLY, if it is your ow
n)

  5. Are you also required to do "functional" programming?
        If so,
            a. What language is this (primarily) in?
            b. If  you use an automated CASE tool, which one do you use (or pre
fer)?
            c. Why are you using a "functional language"?
                    (Not flame bait...Client requires, project requires, real t
ime, etc.)

  6. Do you do any Client/Server or Distributed Database work using OO approach
es?
        If so,
            a. What platform do you primarily use?
            b. What Database application do you primarily use to develop the Cl
ient?
                     (Access, Paradox, Informix,  etc)
                           * Does it support the OO paradigm?
                           * Does it do what you would like it to do?
                           *  Would you recommend it to others?
            c. What Database application do you primarily use to develop the Se
rver?
                           * Does it support the OO paradigm?
                           * Does it do what you would like it to do?
                           *  Would you recommend it to others?
            d. What Database application do you primarily use to develop a Dist
ributed Database?
                 * Does it support the OO paradigm?
                 * Does it do what you would like it to do?
                 *  Would you recommend it to others?

  7. If you had to choose a necessary "toolkit" for OO designers and programmer
s, what 
      would you include?

  8. Is there another automated OOA/OOD tool that you have heard about, but hav
en't
      tried yet?
        If so,
            a. What is it (Name, manufacturer)?
            b. What have you heard about it?

  9. Is there another Database application that you have heard about, but haven
't
      tried yet?
        If so,
            a. What is it (Name, manufacturer)?
            b. What have you heard about it?

  10. General comments? (Optional)

  11. Would you like the stats of this poll posted (no names)?

............................................................. END POLL.........
.............................................................................
           
        
 THANK YOU FOR YOUR TIME!  I appreciate ANY and ALL feed back!!!



   Tinker Kel
    Mystress of Source-ory



======================================================================= 124 ===
Date:    17 Feb 1995 14:55:48 GMT
From:    tinkrkel@america.net (Kelly Caldwell)
Subject: Re: Favorite OOA/OOD tools - POLL

It seems that the majority (all, so far) of those polled, would like to see
the results posted. So I WILL post the results. 

The poll results will include HOW the poll was taken, how MANY
responded and will address every question on the poll (even if
the question was never answered). It will NOT contain the names of
those polled nor who made what comment.

The poll results may be distributed freely. Hopefully, it will be that
informative!

If you are involved in OOA, OOD and/or OOP, please take a few
minutes to respond. The more people involved, the better the poll
will reflect what is out there.

Thanks again,

Tinker Kel (Kelly Caldwell)
Mystress of Source-ory

(tinkrkel@america.net)




======================================================================= 125 ===
Date:    17 Feb 1995 07:30:11 GMT
From:    egustafs@ecepc44.uccs.edu (Eric Gustafson)
Subject: Building LINUXELF

While trying to build m3-3.5.1 for the LINUXELF architecture I have
encountered an ... "interesting" problem.  In an attempt to build the
initial compiler from boot-LINUXELF.tar.gz the assembler fails as soon
as it starts assembling code in boot-LINUXELF/m3core/LINUXELF.
Specifically RTHooks.is.  The assembler returns "Error: Unknown
pseudo-op:  '.4byte' ".  Actually the pleudo-ops '.2byte', '.4byte',
'.previous', and '.section' all fail.  

I'm using the gnu binutils-2.5.2.6 (the .6 is a linux specific patch),
and tried with 2.5.2 as well.  No where in any of the gas
documentation can I find reference to any of these pseudo-ops except
'.section'.  The code (RTHooks.is, etc) appears to be generated by
gcc, but is part of the distribution source, so this really miff's me.
Anyone want to offer some suggestions?

Thanks for the help,
--
Eric Gustafson                                    egustafs@ecepc44.uccs.edu
Electrical & Computer Engineering                    egustafs@cpe.valpo.edu
University of Colorado -- UCCS                        Phone: (719) 637-8022
** Warning ** Planet is 97% full please remove unneeded inhabitants !!


======================================================================= 126 ===
Date:    17 Feb 1995 12:43:01 GMT
From:    shawn@skydome.hinet.net (Shawn Hsiao)
Subject: Re: Building LINUXELF

Eric Gustafson (egustafs@ecepc44.uccs.edu) wrote:
     While trying to build m3-3.5.1 for the LINUXELF architecture I have
     encountered an ... "interesting" problem.

Try to specifies your `as' to `/usr/i486-linuxelf/bin/as'.
I have successfully build m3-3.5.1 for LINUXELF.

--
Shawn Hsiao <shawn@alpha.svd.fju.edu.tw>
Department of Applied Mathematics.
Fu-Jen Catholic University, Taiwan.


======================================================================= 127 ===
Date:    Fri, 17 Feb 1995 11:27:21 -0500
From:    Jim Fenton <jfenton@ic.sunysb.edu>
Subject: Modula3 compiler for pc?

Does anyone have a Modula3 compiler for the pc that you can upload for 
me?  It would be much appreciated.  Thanks.

Jim Fenton
jfenton@libserv1.ic.sunysb.edu


======================================================================= 128 ===
Date:    Fri, 17 Feb 1995 19:25:01 GMT
From:    kendall@spark.mv.com (Sam Kendall)
Subject: Re: Problems building standalone 3.5.1 on Solaris 2.3 (SOLgnu)

bm@news.cs.columbia.edu (Blair MacIntyre) writes:

....
> The problem is that I can't see how to modify the template to
> accomplish this.  I can change the build_standalone to accomplish the
> first change:
> 
> proc build_standalone() is
>    % --- reset the linker to avoid shared libraries.
>    M3_CONFIG += "-Y2@gcc@-compat-bsd@-Xlinker@-dy@-Xlinker@-Bstatic@"
>    M3_CONFIG += "-Y6@" & LIB_USE & "/m3cgc1@-quiet@"
>    M3_CONFIG += "-Y7@/usr/ccs/bin/as@-s@"
> end
> 
> but I can't see how to get the second one (the "-Xlinker -Bdynamic"
> before the "-lsocket -lnsl -lm" at the end of the line).  I can't just
> add the "@-Xlinker@-Bdynamic" to the -z2 line, since m3 complains.

Right.  The m3 driver doesn't understand -Xlinker, though it does
understand -Bdynamic and -Bstatic.

> Is there a way to do this?

I don't think so -- the m3 driver configuration is not quite flexible
enough.  Right now one can tell the driver only -zK0 or -zK1, meaning
that the C compiler (gcc in this case) does or does not, respectively,
understand -Bdynamic and -Bstatic.  There's no way to tell the driver
that the C compiler accepts different but equivalent options.

I guess what there should be instead is two m3 driver configuration
options: one that that tells the driver what C compiler options mean
-Bdynamic, and the other ditto for -Bstatic.  For SOLgnu those options
would look like, eg,

	"-zM@-Xlinker@-Bdynamic@",
	"-zN@-Xlinker@-Bstatic@",

If you feel like implementing this, the usual procedure is to get Bill
Kalsow's prior approval and then send him diffs.

---
Sam Kendall


======================================================================= 129 ===
Date:    18 Feb 1995 03:17:02 GMT
From:    jj04@sol.acs.unt.edu (Christopher Ward Boyd)
Subject: Conditionals?

Hello Everybody,

I have came across a dificulty and am desperately needing help.  Modula-3 
appears to use short-circuit evaluation, that is:

TRUE AND TRUE = TRUE
TRUE AND FALSE = TRUE

Is there any way to force M3 to do complete evaluation, such that:

TRUE AND FALSE = FALSE.

Thanx.

+---------------------------------------+------------------------------+
|Christopher Boyd		        | Texas Acad. Math & Sci. '96. |
|cwb0001@jove.acs.unt.edu               |    University of North Texas |
|jj04@sol.acs.unt.edu                   |                              |
|cboyd@gab.unt.edu			|			       |
|6boyd@tamslab.unt.edu (last resort)    |                              |
+---------------------------------------+------------------------------+


======================================================================= 130 ===
Date:    18 Feb 1995 13:44:21 GMT
From:    schaub@ponder.csci.unt.edu (Stephen Schaub)
Subject: Re: Conditionals?

Christopher Ward Boyd (jj04@sol.acs.unt.edu) wrote:
: Hello Everybody,

: I have came across a dificulty and am desperately needing help.  Modula-3 
: appears to use short-circuit evaluation, that is:

: TRUE AND TRUE = TRUE
: TRUE AND FALSE = TRUE

Actually, TRUE AND FALSE evaluates to FALSE.  It's TRUE OR FALSE that 
evaluates to TRUE without testing the second condition, and I think that's
what you're talking about.  I don't think there's any way in Modula-3
to force TRUE OR FALSE to evaluate the second condition.  I normally put the
'more important' condition first: for example, if one of the conditions is
a function call that you always want to be executed and the other is a 
boolean variable, put the function call first:

  IF DoThisAlways() OR booleanFlag THEN ... END

Stephen Schaub
schaub@cs.unt.edu


======================================================================= 131 ===
Date:    19 Feb 1995 17:00:32 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: Re: Conditionals?

>>>>> On 18 Feb 1995 13:44:21 GMT, schaub@ponder.csci.unt.edu (Stephen
>>>>> Schaub) said:

Stephen> Christopher Ward Boyd (jj04@sol.acs.unt.edu) wrote:

Stephen> : I have came across a dificulty and am desperately needing
Stephen> help.  Modula-3 : appears to use short-circuit evaluation,
Stephen> that is:

Stephen> : TRUE AND TRUE = TRUE
Stephen> : TRUE AND FALSE = TRUE

Stephen> Actually, TRUE AND FALSE evaluates to FALSE.  It's TRUE OR
Stephen> FALSE that evaluates to TRUE without testing the second
Stephen> condition, and I think that's what you're talking about.

Since an AND will short circuit on the first FALSE, and an OR will
short circuit on the first TRUE, if you really really need all the
conditions evaluation, I can't see a way of doing it in a single
expression.

Why not use a WITH statement to introduce some aliases, and then use a
single conditional expression to combine the results?

ie.  instead of saying

	IF mustdothis() and mustdothistoo() THEN
	...
	END

say

	WITH a = mustdothis(); b = mustdothistoo() DO
	    IF a and b THEN
	    ...
	    END
	END

I would imagine the compiler can, in theory, generate at least as good
code for the latter expression.
--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 132 ===
Date:    18 Feb 1995 15:29:58 GMT
From:    Quentin Stafford-Fraser <fraser@europarc.xerox.com>
Subject: Re: Building NT binaries

cadmus@cadmusinteractive.is.net (Reggie Burnett) wrote:
>... I am getting alot of "system cannot find specified file".

Which file can't it find?

Quentin


======================================================================= 133 ===
Date:    19 Feb 1995 20:41:11 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: Network objects: client, identify thyself!


Anybody have any good ideas on how to accomplish this?

I have a server (network object) in which I want to set up a table
associating SpaceIDs with objects.  I want to return only one object
to any given "space" without having to coordinate on the client side
(ie.  N threads in a remote process can find my network object and
invoke a method which will return them some other object.  I want to
send the same reply to all of them).  The reason for this is that I'm
going to be sending a large volume of information over the network to
the client (the object I'll be returning will have a Rd.T in it) and I
want to distribute this information at the remote end, only sending it
across the net once.

The obvious solution is to keep a table which associates SpaceIDs
(Fingerprints) with objects.  But, I can't see how to get the SpaceID
of the remote process that initiated the call to my server network
object.

One solution is to have the remote client pass a network object
parameter, on which I could then get the WireRep field via NetObjRep
and call WireRep.SpaceID on it.  Heck, I could just get them to pass
SpaceID.Mine().

Is there a cleaner solution?  

Thanks.


======================================================================= 134 ===
Date:    Sun, 19 Feb 95 21:24:11 EST
From:    BERGINF@PACEVM.DAC.PACE.EDU (Joseph Bergin)
Subject: Conditionals

To get full evaluation of conditionals in Modula-3 or another short-circuit
language, write a procedure

PROCEUDURE Full_And(left,right:BOOLEAN):BOOLEAN =
BEGIN
RETURN left AND right;
END Full_And;

Procedures evaluate all of their arguments before the body is executed.

Joe Bergin. Pace University.


======================================================================= 135 ===
Date:    20 Feb 1995 09:54:56 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: Ugly kludge for generating tags of modula3 packages


When I first built a tags file for the Modula3 installation, I just
added all i3,m3,ig,mg files ...lib/m3/pkg directory.  But, now that I
have 5 architectures in the same directory, it's a bit of a pain to
have all the system specific stuff for all the architectures in the
tags file (ie.  If I hit on something in Unix.i3, I have to go through
5 similar files).

So, I hacked this little quake script that yanks stuff out of the
.M3EXPORTS file for a package, and generates the takes for the
exported interfaces and modules.

It's not very elegant, but I thought I'd share it.  My only fear is
that there was already something to do this :-)  I suppose there
should be a way to use some of the functions in the m3build/templates,
but it was late and I didn't feel like reading the COMMON file (it's
huge). 

So, here it is.  Save as "ftags.quake" and invoke as 
quake -DFILE="pathToM3EXPORTSfile" ftags.quake


---------------
INSTALL_ROOT = "/proj/graphics/software/modula3/v3.5.1/lib/m3/pkg"
readonly SL = "/"   % the path separator
readonly CR = "\n"  % line break character

readonly proc import_version(x, y) is
end

readonly proc hide_interface(x) is
end

readonly proc hide_generic_interface(x) is
end

readonly proc hide_generic_implementation(x) is
end

readonly proc export_interface(x) is
end

readonly proc export_generic_interface(x) is
end

readonly proc export_generic_implementation(x) is
end

readonly proc Location(pkg, subdir) is
  return format ("%s%s%s%s%s", INSTALL_ROOT, SL, pkg, SL, subdir)
end

readonly proc Write (args, x) is
  exec ([format ("@-m3tags %s %s", args, x)])
end

readonly proc _define_lib(nm) is
end

readonly proc _define_pgm(nm) is
end

readonly proc _import_template(x, pkg, subdir) is
end

readonly proc _import_m3lib(x, pkg, subdir) is
end

readonly proc _import_otherlib(x, pn, l) is
end

readonly proc _map_add_interface(unit, pkg, subdir, visibility) is
  local loc = Location(pkg, subdir)
  local fn = format ("%s%s%s", loc, SL, unit)
  Write ("-q", fn)
end

readonly proc _map_add_generic_interface(unit, pkg, subdir, visibility) is
  local loc = Location(pkg, subdir)
  local fn = format ("%s%s%s", loc, SL, unit)
  Write ("-q", fn)
end

readonly proc _map_add_module(unit, pkg, subdir, visibility) is
  local loc = Location(pkg, subdir)
  local fn = format ("%s%s%s", loc, SL, unit)
  Write ("-q -v", fn)
end

readonly proc _map_add_generic_module(unit, pkg, subdir, visibility) is
  local loc = Location(pkg, subdir)
  local fn = format ("%s%s%s", loc, SL, unit)
  Write ("-q -v", fn)
end

readonly proc _map_add_c(unit, pkg, subdir, visibility) is
end

readonly proc _map_add_h(unit, pkg, subdir, visibility) is
end

readonly proc _map_add_s(unit, pkg, subdir, visibility) is
end

include(FILE)
---------

Here's a zsh script I used at the top of my pkg directory to build a
FTAGS file (the FTAGS info comes out on stdout).

#!/bin/zsh

ROOT=/proj/graphics/software/modula3/v3.5.1/lib/m3/pkg
foreach i (m3core libm3 coverage pp m3bundle m3totex realgeometry parseparams s
lisp tempfiles tcp netobj netobjd m3tk stubgen stable stablegen sharedboard X11
R4 tetris columns ui bicycle solitaire badbricks m3tools m3tohtml m3browser tcl
 dps dpsslides vbtkit showheap recordheap replayheap shownew showthread images 
jvideo videovbt formsvbtpixmaps formsvbt formsedit fisheye calculator cube code
view rehearsecode mg mgkit synloc synex metasyn obliqrt obliqlibm3 obliqlibui o
bliqlibanim obliqparse obliqprint obliq obliqbinmin obliqbinstd obliqbinui obli
qbinanim obliqsrvstd obliqsrvui m3zume zeus mentor smalldb visualobliq voquery 
vorun vocgi)
    echo Doing package $i ....
    EX=$ROOT/$i/$MODULA3_ARCH/.M3EXPORTS
    if [[ -e $EX ]]; then
        quake -DFILE=$EX ftags.quake
    fi
end


======================================================================= 136 ===
Date:    20 Feb 1995 15:44:22 GMT
From:    bm@shadow.cs.columbia.edu (Blair MacIntyre)
Subject: Re: Ugly kludge for generating tags of modula3 packages

>>>>> On 20 Feb 1995 09:54:56 -0500, bm@news.cs.columbia.edu (Blair
>>>>> MacIntyre) said:

me> Here's a zsh script I used at the top of my pkg directory to build a
me> FTAGS file (the FTAGS info comes out on stdout).

me>     EX=$ROOT/$i/$MODULA3_ARCH/.M3EXPORTS

I should have said, MODULA3_ARCH is set to the Modula3 architecture
name (HPPA, IRIX5, SPARC, etc)
--
Blair MacIntyre (bm@cs.columbia.edu), Graduate Student (Graphics and UI Lab)

smail: Dept. of Computer Science, 450 Computer Science Building, 500 W 120 St.
       Columbia University, New York, NY 10027


======================================================================= 137 ===
Date:    20 Feb 1995 11:28:31 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: Rd/Wr pair.


In the WrClass.i3 file, various possible uses for Readers and Writers
are described, including creating a Rd/Wr pair which are directly
connected together.

Does anybody have an implementation of this?  

What I want to do is create a reader/writer pair that are directly
connected together, then hand off one end to a remote thread (as a
return from a network object method) and use the resulting connection
to stream information from one thread to a remote thread.

I need this asynchronous behaviour, so I can't just have the remote
thread make method calls to the local object to retrieve the info.

This seems like something that should have been done by someone at
some point, so I'd like to check before implementing it.

    Thanks for any pointers or suggestions.

	Blair


======================================================================= 138 ===
Date:    Mon, 20 Feb 1995 19:40:10 GMT
From:    spencer@ERA.COM (Spencer Allain)
Subject: thread in comp.lang.c++, comp.object


Anybody with more generics knowledge than myself wish to respond to
the individual who originally post this?  (I have already modified
the follow-up groups to include the original newsgroups, and now
comp.lang.modula3)

>Newsgroups: comp.lang.c++,comp.object
>From: cracauer@wavehh.hanse.de (Martin Cracauer)
>Subject: Template Explosion in other languages (was: C++ Productivity)
>Organization: The Internet
>Date: Mon, 20 Feb 95 10:26:51 GMT
>
>Since many people flame C++ for it's handling of templates, could
>anybody give an overview how other statically-typed languages with
>parametric types (Modula-3, Eiffel, Sather) handle this?
>
>I assume that code duplication happens in all of them. Are there
>implementations that doesn't duplicate the whole code for a class, but
>have mechanisms to detect functions that may be shared?
>
>And what about compile time? Are there actually compilers or language
>models that do a significant better job in compiling code that use
>parametric classes (I think compiling the p. class itself is not that
>much an issue)?
>
>Martin
>-- 
>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>Private email Martin.Cracauer@wavehh.hanse.de Fax +4940 522 8536. No NeXTMail!
> No guarantee for anything. Anyway, this posting is probably produced by one
> of my cats stepping on the keys. No, I don't have an infinite number of cats.


======================================================================= 139 ===
Date:    Mon, 20 Feb 95 15:41:38 -0800
From:    heydon@pa.dec.com
Subject: Re: Rd/Wr pair.

Blair,

> What I want to do is create a reader/writer pair that are directly
> connected together, then hand off one end to a remote thread (as a
> return from a network object method) and use the resulting connection
> to stream information from one thread to a remote thread.

I'm not sure I understand exactly what you need, but this may be a
solution to your problem.

First, the Network Objects machinery marshals readers and writers
specially (see the "NetStream" interface). Quoting from the Network
Objects report (SRC Research Report 115), pg 33:

  The network object runtime allows subtypes of "Rd.T" and "Wr.T" to
  be marshaled freely as parameters and as results of remote method
  invocation. ... Surrogate streams are free-standing entities, valid
  beyond the scope of the remote call which produced them. Data can be
  transmitted on a surrogate stream at close to the bandwidth
  supported by the underlying transport.

Second, the "Pipe" interface makes it easy to create a reader/writer
pair that are connected. A "Pipe.T" is a subtype of a "File.T". The
call:

  VAR hr, hw: Pipe.T; BEGIN
    Pipe.Open(hr, hw);
    ...
  END

sets "hr" and "hw" to a pair of pipe objects; the pipe "hr" is
read-only, and the pipe "hw" is write-only.

Finally, the "FileWr" and "FileRd" interfaces make it easy to
construct readers and writers on objects of type "File.T". So once you
create the pipes "hr" and "hw" as above, you can make readers and
writers out of them with code like this:

  VAR
    rd := NEW(FileRd.T).init(hr);
    wr := NEW(FileWr.T).init(hw)
  BEGIN
    ...
  END

Once you've created the reader/writer pair, you can send one or the
other over the network as the result of a Network Object call. You can
then stream data asynchronously over the connection at close to
network bandwidths.

I hope that helps,

- Allan

--------------------------------------------------------------------
Allan Heydon                           Digital Equipment Corporation
heydon@pa.dec.com                      Systems Research Center
(415) 853-2142                         130 Lytton Avenue
(415) 853-2104 (FAX)                   Palo Alto, CA 94301


======================================================================= 140 ===
Date:    8 Feb 1995 18:56:51 GMT
From:    Horst Stenzel <hstl@birke.gm.fh-koeln.de>
Subject: undefined symbols compiling m3 for SUNsol

I try to install modula-3 version 3.4 on sun with 
Solaris 2.3 and Sun C 3.0 and boot-SUNsol. 
Running m3boot, I get the following messages

..
---- building m3 ----
/usr/ucb/cc -L/usr/ucblib -R/usr/ucblib -lucb -o m3 _m3main.o M3Backend_i.o 
M3BackPosix_m.o Arg_i.o Arg_m.o Msg_i.o Msg_m.o M3Path_i.o M3Path_m.o Unit_i.o 
Unit_m.o Utils_i.o Utils_m.o WebFile_i.o WebFile_m.o Main_m.o 
./../m3core/SOLsun/libm3core.a ../../libm3/SOLsun/libm3.a 
./../m3middle/SOLsun/libm3middle.a ../../m3linker/SOLsun/libm3link.a 
./../m3front/SOLsun/libm3front.a -lm -lsocket -lnsl -lw -ldl -lucb
ucbcc: Warning: Option -R/usr/ucblib passed to ld, if ld is invoked, ignored ot
herwise
Undefined			first referenced
 symbol  			    in file
ieee_handler                        ../../m3core/SOLsun/libm3core.a(FloatMode_m
.o)
sigfpe                              ../../m3core/SOLsun/libm3core.a(FloatMode_m
.o)
ieee_flags                          ../../m3core/SOLsun/libm3core.a(FloatMode_m
.o)
ld: fatal: Symbol referencing errors. No output written to m3
*** error code 1
..

Is any help available?		-H.Stl.


======================================================================= 141 ===
Date:    Tue, 21 Feb 1995 14:29:22 -0500
From:    douglm@rpi.edu
Subject: m3cgc1 failure

I've built m3 v5.1 and the build seems to progress OK.

Everything built. The only problem was that the zeus build failed because
it couldn't locate m3zume.tmpl.

I manually copied it into <whatever>/m3/pkg/m3zume/src (I think) and the
remainder of the build progressed OK.

My problem now is that I get the message

Fatal Error: program "/campus/lang/modula3/3.5/lib/m3/SPARC/m3cgc1" failed,
exit status = 6

while compiling some of my own source.

Any pointers to what I need to look at?




======================================================================= 142 ===
Date:    22 Feb 1995 01:22:17 GMT
From:    pbm1001@cam.ac.uk (Paul Menage)
Subject: Re: Network objects: client, identify thyself!

In article <199502200141.UAA10864@shadow.cs.columbia.edu>, bm@news.cs.columbia.
edu (Blair MacIntyre) writes:
>
>The obvious solution is to keep a table which associates SpaceIDs
>(Fingerprints) with objects.  But, I can't see how to get the SpaceID
>of the remote process that initiated the call to my server network
>object.
>
>One solution is to have the remote client pass a network object
>parameter, on which I could then get the WireRep field via NetObjRep
>and call WireRep.SpaceID on it.  Heck, I could just get them to pass
>SpaceID.Mine().
>
>Is there a cleaner solution?  

How about having a SpaceID parameter that defaults to some value such
as Fingerprint.T{0,..}, and hack the stubs to send the real SpaceID
instead of the passed parameter. As long as the interface
defining the network object in question doesn't change too often, this
shouldn't be too much hassle. The client then doesn't need to worry
about it at all.

Alternatively, how about putting something in the stubs that checks if
the information has already been retrieved, and if it has just return
it straight away, otherwise do the netobj call and store the
information somewhere afterwards.

Paul

-- 
Paul Menage        Magdalene College, Cambridge      pbm1001@cam.ac.uk
'One of its satellites, a green and insignificant planet, is now dead'


======================================================================= 143 ===
Date:    22 Feb 1995 10:00:36 GMT
From:    rcd@transit.cs.brown.edu (Robert C Duvall)
Subject: Problems building m3 libraries

Last night I downloaded the 3.5.1 SOLsun version of modula3 (files
boot-SOLsun.tar.gz, m3cc.tar.gz, m3.tar.gz, and m3gdb.tar.gz).  I modified
m3build/templates/SOLsun by setting INSTALL_ROOT and replaing cc with
/opt/SUNWspro3.0/bin/cc.  I then typed "m3boot && m3ship" and went for some
coffee.

Everything worked perfectly until I tried to build the m3 libraries.  It died
building m3core:
===========================================================================
---------------------- building m3core ----------------------
 
--- building in SOLsun ---
m3 -w1 -why -g -times -a libm3core.a -F/tmp/qkAAAa001Sm 
Segmentation Fault - core dumped
*** error code 139 (ignored)
missing libm3core.a: not building libm3core.so
--- shipping from SOLsun ---
m3mkdir /pro/modula3/lib/m3/pkg/m3core/SOLsun
mkdir /pro/modula3/lib/m3/pkg/m3core
mkdir /pro/modula3/lib/m3/pkg/m3core/SOLsun
/pro/modula3/lib/m3/pkg/m3core/SOLsun
   .M3EXPORTS
   .M3IMPTAB
   .M3WEB
cp: cannot access .M3WEB
*** error code 2
"/pro/modula3/src/m3/m3core/SOLsun/.M3SHIP", line 275: command execute failed
*** call stack ***
"/pro/modula3/src/m3/m3core/SOLsun/.M3SHIP", line 275: call to built-in exec
"/pro/modula3/src/m3/m3core/SOLsun/.M3SHIP", line 5: call to procedure install_
file
m3ship: /pro/modula3/bin/quake failed (status = 256)
*** error code 255
"/pro/modula3/src/m3/src/m3makefile", line 42: command execute failed
*** call stack ***
"/pro/modula3/src/m3/src/m3makefile", line 42: call to built-in exec
"/pro/modula3/src/m3/src/m3makefile", line 63: call to procedure BuildChunk
m3build: /pro/modula3/bin/quake failed (status = 256)
===========================================================================


m3gdb compiled fine and says it died in RTLinker.m3:
===========================================================================
Core was generated by `/pro/modula3/lib/m3/SOLsun/m3 -Y1@/opt/SUNWspro3.0/bin/c
c@-w@-KPIC@ -Y2@/opt/SUNWs'.
Program terminated with signal 11, Segmentation fault.
procfs (find_procinfo):  Couldn't locate pid 0
#0  16_151124 in RTLinker.m3.MAIN () at RTLinker.m3:64
RTLinker.m3:64: No such file or directory.
(gdb) where
#0  16_151124 in RTLinker.m3.MAIN () at RTLinker.m3:64
#1  16_16e84 in main ()
Current language:  auto; currently m3
===========================================================================


The relevant section of RTLinker.m3 reads:
===========================================================================
63:  BEGIN
64:  IF NOT init_done THEN
65:      init_done := TRUE;
===========================================================================


Any ideas?  I have read many complaints about building the compiler and
NetObjects, but nothing bad about building the libraries...

Thanks,
rcd

ps: Please do not tell to use an older version of SUN's cc.  We are a bleeding
    edge university and only have 3.0 and 3.0.1 handy.


-- 
Robert Duvall
Brown University
rcd@cs.brown.edu


======================================================================= 144 ===
Date:    22 Feb 95 09:15:51
From:    dagenais@notung.vlsi.polymtl.ca (Michel Dagenais)
Subject: LINUX ELF port of SRC M3


As reported earlier by others, the LINUX ELF port of SRC M3 is now
fully functional. The only problem may be to get ELF on your machine.
Fortunately i am told that a ELF_HOWTO will be posted soon to
a group like comp.os.linux.announce or comp.os.linux.answers.
When i see it i will put a pointer to it in the linuxelf README.

Binaries for SRC M3 3.5.1 for linuxelf are now available from
ftp.vlsi.polymtl.ca in pub/m3/linuxelf. This time the whole
tree of libs/binaries is there such that people that want to
download by smaller chunks can select exactly what they want.
A README is available in that directory as usual.
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 145 ===
Date:    22 Feb 1995 21:03:53 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: network object calls ... non-blocking?

I'm still looking into ways of accomplishing my current problem (which I
mentioned in a previous message about Rd/Wr pairs.)

After chatting about ILU with Bill Jansen, it seems that my needs could
be summarized as
    I need non-blocking method calls in network objects.

I realize that they don't have them, and I've read the papers, so I have
a vague idea why (I read the papers a while ago).

What I'm wondering is if anyone has ideas on how to fake them?  The real
need is speed:  I will potentially make many calls to these hypothetical
remote objects, sufficiently close together that I will make subsequent 
calls before a synchronous method calls would have returned.

One thought I had was to allow methods that don't return anything to 
hand off the calls to a set of worker threads, so that I could have a set
of calls happening in parallel:  the remote end presumably could use 
monitors to ensure that each call on the remote end is synchronous.

The only problems with such an approach are:
- resources.  Even if I was only doing the calls at a rate that required 4 or 5
  simultaneous calls, that's still 4 or 5 TCP connections per "asynchronous
  method" ... (potentially)

- breakdown of the semantics, so that exceptions would no longer propogate
  to the original caller, but rather to the thread handler.  I could live
  with that.

I could even imagine getting around the first problem (if it really 
became a problem) by writing a Transport that tunnelled multiple "virtual"
Writers through a single real TCP stream  ... actually, for all I know that
is what currently happens, but my skimming of the TCP transport code
seemed to imply one connection per Conn object.

Anyway, does anyone have any other ideas?  Perhaps it would just be
safe to modify the stubs so that you can have async objects, but it seems
like it might violate some aspect of the algorithms (ie. garbage collection,
etc) that are not obvious or easily fixable.

	Blair



======================================================================= 146 ===
Date:    Thu, 23 Feb 1995 10:00:00 -0500
From:    douglm@rpi.edu
Subject: Re: network object calls ... non-blocking?

>    I need non-blocking method calls in network objects.
>

Is that really the way to look at it?

I look at network objects as being an implementation of ordinary objects
spread out in space. As such you wouldn't expect non-blocking method calls
to any object unless you implement it yourself.

I would be inclined to deal with such a problem in the same way  I would
with local objects, fork a thread for each asynch process.

You're right, it might get inefficient or greedy. I suspect though that it
would be a relatively easy job to modify the tcp layer to manage virtual
calls over one TCP connection per host.





======================================================================= 147 ===
Date:    23 Feb 1995 11:58:33 GMT
From:    snelling@cs.man.ac.uk (Dr. David F. Snelling)
Subject: Parallel Execution of M3 Threads.

Folks,

Has any one tried to run M3 threads (closures) in parallel on a multi-processor
shared memory platform? If so, what platform and how much parallelism did
you get for some simple test? If not, does anyone know how hard it is to
convert the concurrent threads package to a parallel one?

Take care: Dr. David Snelling
           Department of Computer Science
           University of Manchester


======================================================================= 148 ===
Date:    23 Feb 1995 16:18:18 GMT
From:    kirschnt@cis.uni-muenchen.de
Subject: 3.5.1 HPPA port installation question

Dear fellows,

has anybody actually installed the HPPA port of the 3.5.1 distribution?
I ftp4d it and the bootstrap installation went surprisingly without any
error message. I was stunned.
Now, when I go and try to get the actual m3.tar.gz package installed,
everything comes to a halt at this early stage:
--- building in HPPA ---
-- mtex done --

---------------------- building m3core ----------------------

--- building in HPPA ---
m3 -w1 -why -g -times -a libm3core.a -F/usr/tmp/qkAAAa20678 
stale imports -> compiling ../src/text/Text.i3
multiple definitions: Word.T implemented by:
   Word.i3
   Text.i3
missing export: Text.T imported by Text.i3
missing export: Text.Brand imported by Text.i3
missing export: Text.Cat imported by Text.i3
missing export: Text.Equal imported by Text.i3
missing export: Text.GetChar imported by Text.i3
missing export: Text.Length imported by Text.i3
missing export: Text.Empty imported by Text.i3
missing export: Text.Sub imported by Text.i3
missing export: Text.SetChars imported by Text.i3
missing export: Text.FromChar imported by Text.i3
missing export: Text.FromChars imported by Text.i3
missing export: Text.Hash imported by Text.i3
missing export: Text.Compare imported by Text.i3
missing export: Text.FindChar imported by Text.i3
missing export: Text.FindCharR imported by Text.i3

Fatal Error: bad version stamps: Text.i3

Is there an obvious and easy way to fix this?  Any help
is very appriciated! Thanks in advance.

Yours
Torsten
------------------------------------------------------------------------
Torsten R. Kirschner | Wagm"ullerstr. 23  | Phone: +49 89 211 06 70
CIS                  | D-80538 M"unchen   | Fax:   +49 89 211 06 74
University of Munich | Germany            | kirschnt@cis.uni-muenchen.de
------------------------------------------------------------------------


======================================================================= 149 ===
Date:    23 Feb 1995 21:35:01 GMT
From:    strand@nic.cerf.net (Parallel Performance Group)
Subject: Interesting Software Announcement


Parallel Performance Group (PPG) is a provider of high-tech Unix- and  PC-based
scientific,  engineering,  and graphics software.  PPG publishes a free monthly
electronic-mail Newsletter for each of the categories below.   Each  Newsletter
covers  material  on  the market/industry niches served by these categories and
tutorial information on the technologies involved.  By sending an e-mail letter
to any mailbox shown below, you will obtain by return e-mail sample Newsletters
for the particular area(s) of your interest.  You will not be put on any mail-
ing list unless you specifically ask to be.

Category                    Software Products         Auto-Response E-Mail Box
-------------------------   -----------------------   ------------------------
RealTime DSP                Rippen, Hypersignal       dsp@ppginc.com
Image Proc'g/Medicl Imgng   IAP                       img@ppginc.com
Fuzzy Logic/Fuzzy Control   Fuzzy Control Manager     fuz@ppginc.com
Neural Networks             NeuroCom, NeuroGraph      neu@ppginc.com
Project Management          Accent, ACOS PLUS 1       prm@ppginc.com
Volume Visualization        Vox-L, IAP                vis@ppginc.com

RealTime Multiprocessing/   Rippen, Express,          mpr@ppginc.com
 Parallel Processing/        Strand88, HyperC, 
 Distributed Processing      Load Balancer,
                             MUSIC, Pulsus

Solid Modelling/CADD/       Prelude, Pytha, Unicad,   sol@ppginc.com
 Mech. Design/Animation      Point Line, 3DGO

Obj.-Oriented CASE Tools    Oberon/F, case/4/0,       obj@ppginc.com
                             objectiF, Innovator,
                             Wizdom-Pro, Loox 

Simulation                  SIMPLE++, SystemSpecs,    sim@ppginc.com
                             GPSS


To regularly receive any Newsletter, reply to subscribe@ppginc.com with the 
message "Subscribe <category>".  For example, "Subscribe Multiprocessing".


======================================================================= 150 ===
Date:    21 Feb 1995 18:06:24 GMT
From:    tweber@urz-mail.urz.uni-heidelberg.de (Thorsten Weber)
Subject: M3 for Mac ?

Hallo,
in the FAQ from 13.02.95, I found the following sentence:
"As far as we know, implementations are not available for VMS,
 Macintosh."
My question is : does there exist any plans to port M3 to the Mac ?
Thanx for advice
thorsten

Thorsten P. Weber
tweber@urz-mail.urz.uni-heidelberg.de


======================================================================= 151 ===
Date:    24 Feb 1995 14:16:32 GMT
From:    jredford@seelebrennt.interzone.lehman.com (John Redford)
Subject: Re: Conditionals?

In article <3i4tjl$sb8@hermes.unt.edu> schaub@ponder.csci.unt.edu (Stephen Scha
ub) writes:

   Christopher Ward Boyd (jj04@sol.acs.unt.edu) wrote:
   : Hello Everybody,

   : I have came across a dificulty and am desperately needing help.  Modula-3 
   : appears to use short-circuit evaluation, that is:

   : TRUE AND TRUE = TRUE
   : TRUE AND FALSE = TRUE

   Actually, TRUE AND FALSE evaluates to FALSE.  It's TRUE OR FALSE that 
   evaluates to TRUE without testing the second condition, and I think that's
   what you're talking about.  I don't think there's any way in Modula-3
   to force TRUE OR FALSE to evaluate the second condition.  I normally put the

More importantly, you woudlnt want it to. Its somewhat common for this
efefct to be used deliberately.

To make sure that both stmts are called or whatever I'd reccomend
using something like:

WITH a = TRUE, b = FALSE DO
  IF a AND/OR b THEN
    blah blah
  END;
END;

--
John Redford (AKA GArrow) | 3,600 hours of tape.
jredford@lehman.com       | 5 cans of Scotchguard.


======================================================================= 152 ===
Date:    24 Feb 1995 15:48:52 GMT
From:    ahmiles@uk.oracle.com (Hugh Miles)
Subject: Re: Building NT binaries

In article <3i0f44$f6u@news1.is.net>, cadmus@cadmusinteractive.is.net (Reggie B
urnett) says:
>
>I have tried building NT binaries of SRC Modula 3 3.5.1 (or something like tha
t).
>I build quake, but now I am getting alot of "system cannot find specified file
".
>
>Is there anyone else out there trying to build NT binaries?
>
>If DEC people are listening, why don't you make NT binaries available?
>
>Reggie
>
>
I am alos tyring to build the mod3 complier on windows NT 3.5.
When I build quake.exe I get the linker error 
: unresolved external __imp___p__iob.

Can any one help! or dose any have the NT binaries?

Andy


======================================================================= 153 ===
Date:    24 Feb 1995 17:48:35 GMT
From:    rrw1000@cus.cam.ac.uk (Richard Watts)
Subject: Re: Adding Colors to Emacs with Modula-3

In article <D3Mop8.JG8@hermes.hrz.uni-bielefeld.de>,
Leif Albers <lalbers@dozy.hrz.uni-bielefeld.de> wrote:
>Hello out there,
>
>  I use XEmacs (19.11) for programming in Modula-3. There Exists a package cal
led
>font-lock.el (or similar) which adds different fonts and colors for special pa
rts
>of the text (keywords, function names, comments, etc.). This really helps read
ing
>the structure of a program (as I know form programming C).  Did anyone get thi
s
>package to work together with Modula-3-mode? If yes, what do I need to change 
in
>order to make it work?

 I don't know about font-lock, but there are some patches for hilit19
that highlight Modula-3. They're available from 

http://www.cl.cam.ac.uk/m3doc/linux/archive/elisp/index.html

>
>Thanks in advance, Leif
>


Richard.
-- 
`There comes a time when you look into the mirror and you realise that what you
 
see is all that you will ever be. And then you accept it. Or you kill 
yourself. Or you stop looking in mirrors.'
The University of Cambridge can't have these opinions even if it wants them.


======================================================================= 154 ===
Date:    Fri, 24 Feb 95 18:21:10 GMT
From:    rcv@ukc.ac.uk (R.C.Vandenbergh)
Subject: Error compiling m3tk.

Hi,

I'm currently testing v3.5.1 of the SRC M-3 compiler on a SPARC 20 (uname
-a => SunOS merlin.uk 4.1.3_U1 5 sun4m) and got this error message:

***
*** runtime error:
***    gc: Could not extend the traced heap
***
 
 [ repeated about 4 times ]

sh: 16603 Abort
*** error code 134 (ignored)
missing libm3tk.a: not building libm3tk.so.1.1


What does it mean ? Did I run out of memory or something ?

Thanks,

Cedric


======================================================================= 155 ===
Date:    21 Feb 1995 16:40:49 GMT
From:    connolly@ulua.hal.com (Dan Connolly)
Subject: dbm style database? RPC version?


There are a couple nifty database interfaces in the m3 distribution:
smalldb and stable. But they're both just for keeping stable versions
of in-memory data structures.

Has anybody developed something like the dbm() API, that implements
essentially the Table.ig interface, but on disk rather than in
memory? (and something that has nicer fault tolerance than dbm...)

Ideally, I'd like a network objects (or ILU, for compatibility
reasons) interface, so that multiple clients could share the
database. I only need a Word.T to REFANY table. Something like:

INTERFACE MyDB;

IMPORT Word, NetObj, Thread;

TYPE
	Key = Word.T;
	Value = REFANY;

	T = NetObj.T OBJECT METHODS
		get(k: Key; VAR <*OUT*>v: Value): BOOLEAN
			RAISES{ NetObj.Error, Thread.Alerted };
		put(k: Key; READONLY v: Value): BOOLEAN
			RAISES{ NetObj.Error, Thread.Alerted };
		delete(k: Key; VAR <*OUT*>v: Value): BOOLEAN
			RAISES{ NetObj.Error, Thread.Alerted };
	END;

END MyDB.


I don't thik I need an interator.

Hmmm... but I'll eventually need access control. Has anybody done
authentication support in ILU or NetObj? Adding a few parameters isn't
enough: it doesn't give message integrity. I'd need support in the
protocol or transport or whatever for encryption or secure hashing.

Transactions would be nice too...

It seems that Modula-3 is a good basis for being very sure of what you
want to be sure of; for example, it would be nice to develop Larch
traits to model ACIDic transactions, as an aid to constructing and
argument for correctness of the implementation.

But I think I'm pretty green to this whole area. I'm not really
familiar with any algorithms for doing two-phase commits or any of
that. I've been reading over the packagetool stuff. I don't grok the
commit protocol yet, but I'll keep reading.

In fact, B-trees are about the extent of my knowledge of
database technology. Anybody got any books to suggest? I'm interested
in object-oriented datbases too. Not so much state-of-the-art stuff,
but more tried-and-true stuff that might have found its way into a
well-accepted book by now.


And the other problem is that while Modula-3 provides a nice clean
platform for being sure of what you want to be sure of, the underlying
runtime and operating system can really muck things up. For example,
the SRC Modula-3 runtime goes kerflewy when NEW() exhausts virtual
memory.  So any argument for the correctness of the database relies on
a "sufficiently large virtual machine," which is not an assumption you
can make in practice. I suppose disk-full conditions can be detected
and handled reliably, but unix signals present an interesting obstacle.



Dan
-- 
Daniel W. Connolly        "We believe in the interconnectedness of all things"
Software Engineer, Hal Software Systems, OLIAS project   (512) 834-9962 x5010
<connolly@hal.com>                             http://www.hal.com/%7Econnolly


======================================================================= 156 ===
Date:    24 Feb 1995 17:50:37 GMT
From:    rrw1000@cus.cam.ac.uk (Richard Watts)
Subject: Re: Building libm3core.so.3.5 under linux

 I've managed to build 3.5.1 by hacking Michel Dagenais's patches for
the 2.11 DLL tools into 2.16 - have a look at :

http://www.cl.cam.ac.uk/m3doc/linux/archive/3.5.1/index.html



Richard.
-- 
`There comes a time when you look into the mirror and you realise that what you
 
see is all that you will ever be. And then you accept it. Or you kill 
yourself. Or you stop looking in mirrors.'
The University of Cambridge can't have these opinions even if it wants them.


======================================================================= 157 ===
Date:    25 Feb 95 08:19:53 GMT
From:    priest@fraser.sfu.ca (David Priest)
Subject: Re: Interesting Software Announcement

strand@nic.cerf.net (Parallel Performance Group) writes:
[garbage deleted]

This is the second time you have posted the article.  It is NOT an interesting 
SOFTWARE announcement, nor a particularly 
interesting MODULA-2 announcement, what with it having +nothing+ to do with Mod
ula-2.
 
Howzabout you dimwitz post your next subject line as:
  
  Subject: (AD) Sample EZine Offer
 
It really would help cut down on the amount of time we all waste selecting irre
levant messages because of misleading 
subject lines.
 
And please do keep in mind the maxim that behind each dissatisfied voice you he
ar are a hundred silent protests.


======================================================================= 158 ===
Date:    Sun, 26 Feb 1995 16:10:29 +0000
From:    cjs1003@cus.cam.ac.uk (Carl J. Spencer)
Subject: SEEKING GEOFF WYANT (gwyant@anchor.Eng.Sun.COM)


I recently got an e-mail reply to a posting of mine on this group from
Geoff Wyant of Sun Microsystems Labs.  I replied to him with a few more
questions, but have heard nothing since.  I would very much like to get in
touch with him again.

Are you still out there, Geoff?

Does anybody know where he is?

Many thanks.

-- 
Carl J. Spencer
Queens' College
Cambridge


======================================================================= 159 ===
Date:    27 Feb 1995 04:09:52 -0800
From:    <edwardb@src.dec.com>
Subject: Can you help us?

Can you help us?

Edwards Research Institute is conducting a search for unique, high 
quality items which can be of benefit to others throughout the world via 
the web.

Areas of interest include: Education; health; environment;
culture; politics; music; books; sports and recreation; hobbies 
and crafts; humor; virtual reality; medical and nourishment.

Come and visit us on the web at http://www.virtualmall.com.  Browse 
through examples of items which you may find beneficial to your quality 
of life.  Feel free to acquire items of interest to you and register your 
suggestions; or give us a call at (510) 657-2499.

We would also need to know the manufacturer and/or distribution 
information, along with who you are and how we may reach you.  Upon our 
acceptance of your suggestion you will receive a Virtual Mall gift 
certificate.

Thanks for your help.



======================================================================= 160 ===
Date:    Mon, 27 Feb 1995 10:20:13 MET
From:    rudy@cs.rug.nl
Subject: Language Definition

At this moment I find Modula-3 one of the best programming languages.
Working with Modula-3 I still find minor points where the language
(definition) could be improved. Therefore I will propose some minor changes
to the language definition. I hope to initiate a fruitful discussion about
the language definition. I will collect the reactions and write a final
report. 

Messages sent to m3@src.dec.com are automatically forwarded to the newsgroup
comp.lang.modula3. Reaction can also be sent to me personally:
rudy@cs.rug.nl

Proposal 1: the declaration of READONLY variables
=================================================

There is a certain symmetry between procedure parameters and variable
declarations. In case of procedure parameters we possess the
"VAR"-parameter, the "VALUE"-parameter and the "READONLY"-parameter. These
parameters have there counterparts: the "VAR"-declaration, the
"CONST"-declaration and the not existing "READONLY"-declaration. I
therefore propose the introduction of "READONLY" variables.  A readonly
variable is a constant after initialization. A readonly variable will be
initialized at the moment of declaration by an expression. After
initialization readonly variables can not be changed. So a readonly variable
is an RHS variable. Notice: constants can only be initialized by a constant
expresssions, readonly variables by any expression.

Syntax
======

The Modula-3 syntax (Language report section 1.10.7 Compilation Unit
Productions) should be changed into:

Declaration   = CONST {ConstDecl ";"}
              | TYPE {TypeDecl ";"}
              | EXCEPTION {ExcecptionDecl ";"}
              | READONLY {ReadOnlyDecl ";"}
              | VAR {VariableDecl ";"}
              | ProcedureHead ["=" Block Indent] ";"
              | REVEAL {Type ID ("="|"<:") Type.

ReadonlyDecl  = Ident [":" Type]":=" Expr.

Example
=======

An example program could be the computation of the roots of the 
equation  "a x^2 + b x + c = 0":

IMPORT RealFloat;

PROCEDURE tgp(a,b,c:REAL; VAR x1,x2:REAL)=
READONLY disc := b*b - 4.0*a*c;
         root := RealFloat.Sqrt(disc);
  BEGIN
    x1 := (-b+root)/(2.0*a);
    x2 := (-b-root)/(2.0*a);
  END;
END tgp;

Notice that "disc" and "root" are used as constants; they are never changed.
In larger programs the READONLY variables increase the security. READONLY
variables can never be changed accidently.




======================================================================= 161 ===
Date:    27 Feb 95 22:17:59 +1200
From:    granville@decus.org.nz
Subject: FAQ anyone ?

Any chance of a FAQ posting here soon ?.
I aminterestedin what m3 has added / taken away relative to m2 ( TopSpeed's)
version.


======================================================================= 162 ===
Date:    27 Feb 1995 05:28:15 GMT
From:    cmingins@grape.fcit.monash.edu.au (Ms. C. Mingins)
Subject: CFP TOOLS Pacific '95


TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES AND SYSTEMS

		TOOLS PACIFIC 95

	CALL FOR PAPERS, TUTORIALS, PANELS

              Melbourne, Australia
         November 27 - November 30 1995

Program Co-Chairs   
	Roger Duke
        Queensland University, Australia

        Christine Mingins
        Monash University, Australia

Tutorial Chair      
        John Potter
        Microsoft Institute, Australia

Conference Chair  
	Bertrand Meyer
        Interactive Software Engineering
	USA

Local Chair
	Sita Ramakrishnan
        Monash University, Australia

TOOLS returns to Melbourne for the third time and continues the 
commitment to excellence demonstrated by earlier conference in 
Europe, US and the Pacific.  Standards established for TOOLS by 
earlier conferences in the series include:

.   Emphasis on the practice of object-oriented technology and its 
    application in  industrial environments, complementing the more 
    academically oriented   perspective of traditional conferences.

.   Solid technical program, based on a strict refereeing process.

.   Balanced coverage of the wealth of approaches, trends and 
    variants in the object-oriented community.

.   Combination of tutorials by recognised experts, up-to-date 
    exhibitions of  products and services, invited talks by innovators in 
    the fields, relevant panel  discussions, and technical papers 
    targeted to industry practitioners.

TOOLS Pacific '95 is now soliciting papers on all aspects of object-
oriented technology.  All submitted papers will be refereed and 
judged not only according to standards of technical quality but also 
on their usefulness to practitioners and applied researchers.

This year a complete day will be devoted to specialized language 
track in C++, Smalltalk and Eiffel, culminating in a language debate. 
Theoretical and practical papers representing lessons of experience 
on these topics are especially sought.

As with previous conferences, the TOOLS 18 Proceedings will be 
published by Prentice-Hall and made available worldwide.


A non-exhaustive list of suggested topics include:
.   Reports on experienced with O-O technology
.   Migration towards O-O software development
.   O-O user interfaces, persistence and databases
.   Class management and evolution
.   Empirical and field studies
.   Production, distribution and revenue collection of industrial-
    quality reusable components.

TOOLS 18 will feature a special track on issues relating to the 
migration from conventional to object-oriented programming.  This 
track will include workshop(s), tutorials, panel discussions, and 
featured speakers.  Technical papers are expressly sought in this 
area.

Paper should range from 10 to 20 double spaced pages.  Six copies of 
each submission should be sent to:

TOOLS Pacific '95
Att:    Dr Roger Duke
Department of Computer Science
University of Queensland
St. Lucia, Brisbane, QLD 4072
Australia

Ph: +61-7-365 3335  Fax:    +61-7-365 1999
Email:  rduke@cs.uq.edu.au

Proposals for tutorials are also solicited and should be sent to the 
Tutorial Chair:

Dr John Potter
Microsoft Institute
65 Epping Road
North Ryde  NSW  2113
Australia
Email: johnpot@microsoft.com

IMPORTANT DATES

All submissions must be received by July 21, 1995 to be considered 
for inclusion in the conference.  Submissions should be in English.  
Notification of acceptance will be mailed by September 1, 1995.  
Final manuscripts will be due October 6, 1995.

INTERNATIONAL OBJECT-ORIENTED WEEK

Friday, December 1, 1995, has been set aside for independently 
organized events, such as User Group meetings or standardization 
committees.  The TOOLS Pacific '95 organizer will help coordinate 
such events if they fall within the scope of object-oriented 
techniques, and will include the announcements in the final TOOLS 
program.  If you are interested in setting up such a meeting, please 
contact the conference chair for details at tools@monash.edu.au.

Conference Organization Committee:

TOOLS Pacific '95
c/o Ms Sita Ramakrishnan
Faculty of Computing and Information Technology
Monash University
P O Box 197
Caulfield East  VIC  3145
Australia

Ph: 61-3-903 2702       Fax: 61-3-903 2745
Email:  tools@monash.edu.au

For further information complete the coupon below and mail it to the 
Conference Organization Committee at the above address.

----    I intend to register for TOOLS Pacific '95.  Please send me 
	the conference program.

----    I intend to submit a paper with the following title:

_____________________________________________________________________

This will be    ____    a full paper    _____   an extended abstract

-----   Please send me the "Guidelines for Prospective TOOLS Authors"

____    My company is interested in exhibiting.
        Please send me the "Call for Exhibitors" application

_____________________________________________________________________
Name

_____________________________________________________________________

_____________________________________________________________________
City, State, Postcode

_____________________________________________________________________
Telephone & Fax

_____________________________________________________________________
Email




======================================================================= 163 ===
Date:    27 Feb 1995 16:37:42 GMT
From:    egustafs@ecepc44.uccs.edu (Eric Gustafson)
Subject: Making Procedures infix

Is it possible to declare a function to be an infix function.  For
instance, I declare an add function for some new type, say complex:

PROCEDURE "+"(A, B : COMPLEX) : COMPLEX;

and then use it in this fashion:

VAR A,B,C : COMPLEX;
BEGIN
  C := A + B;
  ...

SPwM3 kinda hints at this which is why I ask (P 54).

Thanks,
--
Eric Gustafson                                    egustafs@ecepc44.uccs.edu
Electrical & Computer Engineering                    egustafs@cpe.valpo.edu
University of Colorado -- UCCS                        Phone: (719) 637-8022
** Warning ** Planet is 97% full please remove unneeded inhabitants !!


======================================================================= 164 ===
Date:    27 Feb 95 08:44:49
From:    nayeri@gte.com (Farshad Nayeri)
Subject: Re: FAQ anyone ?

In article <1995Feb27.221759.348@decus.org.nz> granville@decus.org.nz writes:

   Any chance of a FAQ posting here soon ?.
   I aminterestedin what m3 has added / taken away relative to m2 ( TopSpeed's)
   version.

Try getting the FAQ via anonymous ftp from

           ftp.vlsi.polymtl.ca:/pub/m3/m3-faq.txt

It is posted here regularly, but I don't know the frequency. I saw one
about 10 days ago, I think. If you can't ftp it, let me know and I
will e-mail you a copy.

-- Farshad


--
Farshad Nayeri
nayeri@gte.com


======================================================================= 165 ===
Date:    27 Feb 95 08:41:32
From:    nayeri@gte.com (Farshad Nayeri)
Subject: Re: Language Definition


Rudy@cs.rug.nl suggests adding a READONLY variable declaration syntax.
Often, you can achieve the same effect by using a WITH expression:

   Example
   =======

   An example program could be the computation of the roots of the 
   equation  "a x^2 + b x + c = 0":

   IMPORT RealFloat;

   PROCEDURE tgp(a,b,c:REAL; VAR x1,x2:REAL)=
   READONLY disc := b*b - 4.0*a*c;
            root := RealFloat.Sqrt(disc);
     BEGIN
       x1 := (-b+root)/(2.0*a);
       x2 := (-b-root)/(2.0*a);
     END;
   END tgp;

Alternatively, you can use WITH statement to do something similar:

   IMPORT RealFloat;

   PROCEDURE tgp(a,b,c:REAL; VAR x1,x2:REAL)=
   BEGIN
     WITH disc = b*b - 4.0*a*c,
          root = RealFloat.Sqrt(disc) DO
       x1 := (-b+root)/(2.0*a);
       x2 := (-b-root)/(2.0*a);
     END;
   END tgp;

WITH is a bit looser than READONLY as you propose it, as it may give
you a writable designator (for example when you create a new name for
a variable) but it does what you propose for the most part in your
example.

Note that WITH doesn't allow you to share variables across top-level
procedures. Anyway, I noted the WITH statement because I didn't see
any references to it in your post.

-- Farshad
--
Farshad Nayeri
nayeri@gte.com


======================================================================= 166 ===
Date:    Mon, 27 Feb 1995 13:03:14 GMT
From:    kendall@spark.mv.com (Sam Kendall)
Subject: Re: Language Definition

The WITH statement already does what you are proposing.

--Sam Kendall


======================================================================= 167 ===
Date:    27 Feb 1995 21:55:59 GMT
From:    nayeri@gte.com (Farshad Nayeri)
Subject: Re: Making Procedures infix


Modula-3 doesn't support user-defined operators. The way SPwM3
describes operators is for clarity.

-- Farshad
--
Farshad Nayeri
nayeri@gte.com


======================================================================= 168 ===
Date:    Mon, 27 Feb 1995 17:44:14 -0500
From:    douglm@rpi.edu
Subject: Re: Language Definition

Sam Kendall pointed out:

>The WITH statement already does what you are proposing.
>

In general there is more than one way of doing something. I guess the value
of such a feature is the self-documenting aspect. WITH doesn't really tell
us why it's being used other than as a shorthand construct.

While we are at it, and just so no-one can't say I didn't say anything, I
have some additions I wouldn't mind seeing.  None are original; they come
from other languages I have used and they help readability.

(Can language constructs be copyrighted?)

1. Extensions to the EXIT statement.
    Looks like:

       LOOP
           ...
           EXIT WHEN <Condition>;
           ... or ...
           EXIT UNLESS <Condition>;
        END;

IF can do this for you but the intention is more obvious.

2. Named blocks.
    In one language this looked like (The angle brackets are part of the
construct):

      <Outer>
      LOOP
          ...
          <Inner>
          LOOP
              ....
              EXIT <Outer> WHEN Error OR Tired;
              ...
           END <Inner>;
        END <Outer>;

Once again, this could be implemented using existing constructs but I think
it makes for clearer code. Any statement that introduces a new scope (other
than a procedure) can be labelled.




======================================================================= 169 ===
Date:    Mon, 27 Feb 1995 14:45:02 -0500
From:    emon@gte.com (Emon Mortazavi)
Subject: Need help with VBT

Does anybody know how to force VBT to redraw a window? In the interface
that I am designing I want to give the user feedback on the progress of an
operation on a list of items. I am using FormsVBT.PutText to put
information on each item into a text field. But the window is not
refreshed fast enough. Out of about 70 items, it only displays 4 or so. 

Thanks for your help.

Emon


======================================================================= 170 ===
Date:    Tue, 28 Feb 1995 9:10:02 MET
From:    rudy@cs.rug.nl
Subject: Re: Language Definition" - douglm@rpi.edu

> While we are at it, and just so no-one can't say I didn't say anything, I
> have some additions I wouldn't mind seeing.  None are original; they come
> from other languages I have used and they help readability.

> 1. Extensions to the EXIT statement.
>    Looks like:
>
>       LOOP
>           ...
>           EXIT WHEN ;
>           ... or ...
>           EXIT UNLESS ;
>       END;
>
> IF can do this for you but the intention is more obvious.

Adding or modifying language constructs must be done carefully. You have to
verify these aspects:

1) does it add something new to the language

2) does it increase the symmetry of the language

3) makes it compiler construction easier

4) does it solve any wellknown problem

Your addition is syntactic sugar, there is an easy way of making the same
construction by using already existing language constructions. Your addition
breaks the symmetry in the language, you also have to introduce something
like "RETURN WHEN", "RETURN UNLESS", "RAISES WHEN" and "RAISES UNLESS".
So keep it simple and use an "IF THEN EXIT" construction instead.



======================================================================= 171 ===
Date:    Mon, 27 Feb 1995 19:34:05 GMT
From:    bwbecker@dragon.uwaterloo.ca (bwbecker)
Subject: Where is ParseParams?

I think I remember a promise that ParseParams would be
returned to libm3 in v3.5.  I can't find it, although
it is documented in the WWW pages at
http://www.research.digital.com/SRC/m3sources/html/parseparams/src/Parse
Params.i3

Thanks for any help...

=====
Byron Weber Becker                               (519) 888-4567 x4661
Computer Science Lecturer/Advisor        bwbecker@dragon.uwaterloo.ca
University of Waterloo


======================================================================= 172 ===
Date:    Tue, 28 Feb 1995 08:39:58 -0500
From:    gwyant@cloyd.East.Sun.COM (Geoffrey Wyant - Sun Microsystems Labs BOS)
Subject: Where is ParseParams?

bwbecker@watdragon.uwaterloo.ca writes:
 > I think I remember a promise that ParseParams would be
 > returned to libm3 in v3.5.  I can't find it, although
 > it is documented in the WWW pages at
 > http://www.research.digital.com/SRC/m3sources/html/parseparams/src/Parse
 > Params.i3
 > 
 > Thanks for any help...
 > 
 > =====
 > Byron Weber Becker                               (519) 888-4567 x4661
 > Computer Science Lecturer/Advisor        bwbecker@dragon.uwaterloo.ca
 > University of Waterloo

It's in 3.5.1 in m3/parseparams

--geoff


======================================================================= 173 ===
Date:    Tue, 28 Feb 1995 10:20:41 -0500
From:    douglm@rpi.edu
Subject: Network objects, threads and stacks

It appears to me that there is no way for me to set the stack size of
particular threads when using network objects (SPARC, V3.5.1).

The thread I get seems to be an essentially random choice out of a set of
idle threads at the time a call comes in.

I guess I could set the default stack size to be higher, but I'd rather not
have large stacks for all threads.

I've thought of writing a replacement transport module but there doesn't
seem to be a way to 'register' this with the network object routines. Also
I'm not sure that's altogether the appropriate place to handle the problem.

A more general solution might be some extension to the network objects
package which allows us to register our own new thread routine. One
parameter would be the typecode of the object for which the thread is
required (at least).




======================================================================= 174 ===
Date:    28 Feb 95 08:27:12
From:    dagenais@notung.vlsi.polymtl.ca (Michel Dagenais)
Subject: Re: Where is ParseParams?


   I think I remember a promise that ParseParams would be
   returned to libm3 in v3.5.  I can't find it, although

It is in 3.5.1 as a separate library named parseparams.
Perhaps it was in 3.5 too; i dont have it anymore.
--

Prof. Michel Dagenais        http://www.vlsi.polymtl.ca/dagenais/home/home.html
Dept of EE and Computer Eng.        dagenais@vlsi.polymtl.ca
Ecole Polytechnique de Montreal     tel: (514) 340-4029



======================================================================= 175 ===
Date:    Tue, 28 Feb 1995 10:43:52 -0500
From:    gwyant@cloyd.East.Sun.COM (Geoffrey Wyant - Sun Microsystems Labs BOS)
Subject: Network objects, threads and stacks

douglm@rpi.edu writes:
 > A more general solution might be some extension to the network objects
 > package which allows us to register our own new thread routine. One
 > parameter would be the typecode of the object for which the thread is
 > required (at least).
 > 
Another solution that doesn't require any changes to the network object's
interfaces or runtime is for you to fork off your own thread in those cases 
where you know that you will need a large stack. That is, the method 
implementation in your server forks off a thread of its own with the size
that you choose. It's a little more work on your part, but doesn't require
any changes to the current interfaces.

Geoff Wyant
Geoff.Wyant@east.sun.com
Sun Microsystems Laboratories, Inc.

2 Elizabeth Drive
Chelmsford, Ma.
01824


======================================================================= 176 ===
Date:    23 Feb 1995 14:17:17 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: 3.5.1 HPPA port installation question


>>>>> On 23 Feb 1995 16:18:18 GMT, kirschnt@cis.uni-muenchen.de said:

TRK> Dear fellows,

TRK> has anybody actually installed the HPPA port of the 3.5.1 distribution?
TRK> I ftp'd it and the bootstrap installation went surprisingly without any
TRK> error message. I was stunned.
TRK> Now, when I go and try to get the actual m3.tar.gz package
TRK> installed,
 [....]


The problem is that there seems to be some incompatibility in
the gcc-2.6.3 backend and Modula3 on the HPPA.

I tried using the HP specific gcc-2.6.3-u6 (distributed by the folks
at Utah) as a basis for the gcc backend and got a different, but
equally fatal set of errors.  Which is depressing, since the u6
distribution supports dynamic libraries on HPUX.

In any event, that is with m3cc-2.5.7 is in the Modula3 release 3.5.1
directory:  using it as the backend and you should have no problems.



======================================================================= 177 ===
Date:    Tue, 28 Feb 1995 14:04:46 GMT
From:    bwbecker@watdragon.uwaterloo.ca (Byron Weber Becker)
Subject: Re: Where is ParseParams?

>bwbecker@watdragon.uwaterloo.ca writes:
> > I think I remember a promise that ParseParams would be
> > returned to libm3 in v3.5.  I can't find it, although
> > it is documented in the WWW pages at
> > http://www.research.digital.com/SRC/m3sources/html/parseparams/src/Parse
> > Params.i3
> >
> > Thanks for any help...
>
>It's in 3.5.1 in m3/parseparams

Thanks for the response, but I still don't see it.  The folks
who installed M3 claim it's 3.5.1.  I think the right
place to look (on our system) is
.../modula3/lib/m3/pkg/lim3/src
but I see no m3 or parseparams in that directory, nor does
the find command find it in any subdirectories.  m3which
doesn't find it, nor does m3build when I try to IMPORT it
in a program.  Further clues?

Byron


=====
Byron Weber Becker                               (519) 888-4567 x4661
Computer Science Lecturer/Advisor        bwbecker@dragon.uwaterloo.ca
University of Waterloo




======================================================================= 178 ===
Date:    23 Feb 1995 18:46:15 -0500
From:    bm@news.cs.columbia.edu (Blair MacIntyre)
Subject: build_standalone() for SOLgnu. Fix.


Thanks to Bill Kalsow for suggesting this.  I've tested this on a few
m3builds, so there may be something missing.  Let me know if you have
any changes. 

In the SOLgnu template:

Make sure that you have "-zK0", not "-zK1"

Make this your build_standalone function:

proc build_standalone() is
   % --- reset the linker to avoid shared libraries.

   % In SOLgnu we cannot do this completely, because the -lbsd and -lc
   % libraries clash when linked statically, and there is no static -laio.
   % So we link try to do it, and fail miserably.  Finish by hand.  Sigh.
   M3_CONFIG += "-Y2@m3-gcc@-compat-bsd@-Xlinker@-dy@-Xlinker@-Bstatic@"
   M3_CONFIG += "-z2@-lDYNAMIC_LINKING_AFTER_THIS@-lsocket@-lnsl@-lm@"
   M3_CONFIG += "-Y6@" & LIB_USE & "/m3cgc1@-quiet@"
   M3_CONFIG += "-Y7@/usr/ccs/bin/as@-s@"
end


Finally, create the m3-gcc script and put it in your path.

#!/bin/sh

CMD="gcc "
for x do
        if [ "-lDYNAMIC_LINKING_AFTER_THIS" = "$x" ]; then
                CMD="$CMD -Xlinker -Bdynamic "
        else
                CMD="$CMD $x "
        fi
done
exec $CMD


