======================================================================= 1 === Date: 1 Feb 1995 02:37:14 GMT From: "Andres L. Pacheco" Subject: Re: L'OBJET: A new journal (in French) on object technology. davidt@netcom.com (David Taylor) wrote: > > In article , > hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote: > > > In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865 > 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@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote: > In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865 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@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 |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, |> >> 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 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 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 Subject: Re: L'OBJET: A new journal (in French) on object technology. hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote: > > In article 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 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 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 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 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 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, > > >> 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 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 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@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 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@netcom.com (David Taylor) writes: >In article , >hinsenk@cyclone.ERE.UMontreal.CA (Hinsen Konrad) wrote: > >> In article <3gluda$nm1@crchh327.bnr.ca> Jeffrey Fries P865 > 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 Subject: Re: L'OBJET: A new journal (in French) on object technology. cjmchale@cs.tcd.ie (Ciaran McHale) wrote: > > Jeffrey Fries P865 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 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 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 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 > 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 , B. Flynn 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 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, >> >> 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, >>> >> 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@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@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 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 | My WWW Home Page ======================================================================= 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 :) -- cg ======================================================================= 82 === Date: 9 Feb 1995 04:52:17 -0500 From: ccapc@cyber.sell.com (Consumer Credit Advocates) Subject: 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 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@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 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 /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 /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 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 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 : 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@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 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 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 Department of Applied Mathematics. Fu-Jen Catholic University, Taiwan. ======================================================================= 127 === Date: Fri, 17 Feb 1995 11:27:21 -0500 From: Jim Fenton 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 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 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 /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 ". 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 , Leif Albers 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 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: 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 ; ... or ... EXIT UNLESS ; 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): LOOP ... LOOP .... EXIT WHEN Error OR Tired; ... END ; END ; 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