======================================================================= 1 === Date: 1 Jun 93 18:06:25 GMT From: hendrik@vedge.com (Hendrik Boom) Subject: os/2 port? Is there an OS/2 2.x port of modula 3? If not, can anyone suggest how much work it would be? hendrik. -- ------------------------------------------------------- Try one or more of the following addresses to reply. at work: hendrik@vedge.com, iros1!vedge!hendrik at home: uunet!ozrout!topoi!hendrik ======================================================================= 2 === Date: Thu, 3 Jun 1993 02:13:17 GMT From: clfung@cs.ust.hk (Fung Chi Leung) Subject: Priority thread Hi, I would like to know have someone implement the priority thread in M3? If not, I do like to build such a thing and want to have some expertise suggestions. In my mind, there are two approaches: 1. Modify the current scheduler modules in M3. 2. Build a totally new interface using the light weight process in Sun OS. But, I am worrying about the compatibility of this approache with the current scheduler. PS. For the first approach, I need some expertise suggestions on which modules and data structure should be modified. Thanks in advance. -- Leung [Chi-Leung Fung] | email: clfung@cs.ust.hk | phone: (852) 358 7022 Everything takes longer than you expect. ======================================================================= 3 === Date: 4 Jun 93 18:42:51 GMT From: fn00@gte.com (Farshad Nayeri) Subject: Sample Modula-3 programs I am looking for sample Modula-3 "application" programs that do something non-trivial, but they are not too advanced either. I want to keep these programs around to give it away to people who are just learning Modula-3 (who may or may not know too much about programming with Modula-3). Sam Harbison's Modula-3 book lacks substantial examples. SPwM3 doesn't include too many example code that are not too involved. Does anyone have simple sample programs that they are willing to share? If enough people send programs, I will package them up and put them for public consumption somewhere. Thanks in advance, --farshad -- Farshad Nayeri | Distributed Object Computing fn00@gte.com | GTE Laboratories, Inc., Mail Stop 62 (617)466-2473 | 40 Sylvan Road, Waltham, MA 02254, USA ======================================================================= 4 === Date: 7 Jun 93 04:08:16 GMT From: tas@cs.uq.oz.au (Tasman Hayes) Subject: Overriding methods to NIL. In some code I attempt to override a method to NIL, a la: REVEAL T = Public BRANDED OBJECT ... METHODS ... OVERRIDES ... calc_head := NIL; ... END "calc_head" is defined in Public as a method that takes no parameters, and returns nothing. The SRC Modula-3 compiler doesn't like this, informing me: "./Stream.mg", line 37: default is not a procedure (calc_head) I quote from Modula-3's language definition: NULL <: PROCEDURE(A): R RAISES S for any A, R, and S That is, NIL is a memeber of every procedure type. (page 25, SPwM3) A method override has the form: m := proc where m is the name of a method of the supertype ST and proc is a top-level procedure constant. It specifies that the m method for T is proc, rather than ST.m. ----> If proc is non-nil, its first parameter ... (page 22, SPwM3) Am I misinterpreting the language definition, or going about overriding to NIL in the wrong way, or is something else askew. Any comments would be greatly appreciated, Tasman (The reason I want to explicitly assign NIL to the method is to ensure a runtim e error if that method is invoked (i.e. when it shouldn't ever be). ) ======================================================================= 5 === Date: Mon, 7 Jun 93 16:55:49 GMT From: mjordan@src.dec.com (Mick Jordan) Subject: Re: Overriding methods to NIL. In article <1993Jun7.160318.24989@src.dec.com>, kalsow@src.dec.com (Bill Kalsow ) writes: |> The work-around is to override the method with a procedure that crashes: |> |> PROCEDURE CrashAndBurn (<*UNUSED*> self: T) = |> BEGIN <* ASSERT FALSE *> END CrashAndBurn; |> Since pragmas are only hints to the implementation and can be ignored by a compiler, it is better to crash programs with exceptions, vis: EXCEPTION Crash; PROCEDURE CrashAndBurn (<*UNUSED*> self: T) = <* FATAL Crash *> BEGIN RAISE Crash END CrashAndBurn ; ======================================================================= 6 === Date: Mon, 7 Jun 93 16:03:18 GMT From: kalsow@src.dec.com (Bill Kalsow) Subject: Re: Overriding methods to NIL. In article <13783@uqcspe.cs.uq.oz.au>, tas@cs.uq.oz.au (Tasman Hayes) writes: > In some code I attempt to override a method to NIL, ... > > The SRC Modula-3 compiler doesn't like this, informing me: > > "./Stream.mg", line 37: default is not a procedure (calc_head) It's a bug. The compiler doesn't recognize NIL as a legal method value, but it should. The work-around is to override the method with a procedure that crashes: PROCEDURE CrashAndBurn (<*UNUSED*> self: T) = BEGIN <* ASSERT FALSE *> END CrashAndBurn; - Bill Kalsow ======================================================================= 7 === Date: Tue, 8 Jun 1993 07:37:22 GMT From: johnh@david.wheaton.edu (John C. Hayward) Subject: Modula-3 port to 386bsd alpha testers wanted Several people have posted queries about a Modula-3 port for 386bsd. I have been working one and it seems to work and is complete except for the IEEE floating point parts. The compiler thrashes badly if you only have 4MB of memory but seems to perform as reasonably as one would expect if you have 8MB of memory. (The driver takes about 3MB of virtual memory as does the compiler itself). The current port assumes the existance of the math co processor for 386. There were a number of problems related to 386bsd which made the port more difficult - including. ar - if the length of a file name is longer than 16 and odd the resultant library is unusable to ld and ranlib sh, csh - do not follow the convention for allowing the first line of the shell script to specify which shell to invoke. cc, float.h - core dumps if you try to use HUGE as a floating point constant. cc, dtoa.h - default rounding of floats to int was round rather than trunc. /* what does your compiler do with i = 1.6;? */ make - makefiles and SEP seem to behave differently in 386bsd and other unix platforms The biggest problem was my own falt in trying to get threads working dealing with setting up a stack for a new thread. I have run the ~400 tests included in the distribution and aside from extra cc warning messages, different cc warning and error messages, the IEEE floating point tests, rounding errors and number of procedures test I think all the tests performed as expected. I am looking for a few brave souls willing to try the port out. Hardware requirements - 386, 486 with co-processor and 8MB of memory. Might need 100-150MB of disk space to build and play with the system. runs on 386bsd0.1 (0.2 won't be out until later this summer and I have not found the patches yet:-{). The distribution of the compiler (v1.11) I think will take about 4MB. I am in Malaysia till the end of the summer and from time to time our connections via internet go down. Send e-mail to johnh@david.wheaton.edu if interested. johnh... ======================================================================= 8 === Date: Tue, 8 Jun 1993 20:49:24 GMT From: Ken Wellsch Subject: m3 source-level debugging? Have I incorrectly installed our Modula-3? We have WRL version 2.11 on a Sun4 running SunOS 4.1.2 and are using gcc 2.3.3. Our students want to use either DBX or GDB (v4.9) but can't do source level things, e.g. "list". I seem to have only the derived _m3main.c file mentioned as a file in the resulting symbol table. Since neither DBX nor GDB understand Modula-3 I suspect source level debugging is currently unavailable, yes? ======================================================================= 9 === Date: Wed, 9 Jun 1993 17:00:34 GMT From: grlw1@cus.cam.ac.uk (Rich Walker) Subject: RefTable & GC-related bug - read and laugh... After a day or two of hammering my head against a GC-dependant bug in my code, I traced it. RefTable.Put takes a REFANY key; my code (somewhat liberally) computes a key from the data and LOOPHOLE's it. (There's a good-ish reason for this). After forcing GC through all my code, I tracked it to the library routine; after altering chunks of the code so I could compile a modified version of a standard library routine, and still include the rest of the library :-<, I tracked it: The RTHeap.FreezeRef in RefTable.Put. My key was, of course, not a _real_ address. So, when it got frozen, something gave... Back to a rewrite of the code... (Why not use a table that takes a hash function on creation? Good point.) -- --- Rich! Walker (grlw1@cus.cam.ac.uk) "In a way, we're a kind of Peace Corps." - Maj. A. Lincoln German, Training Director of the Green Beret Special Warfare School, Ft. Bragg, N.C. ======================================================================= 10 === Date: 10 Jun 93 18:08:47 CST From: skelley@tisl.ukans.edu ( Sean V. Kelley ) Subject: vgrindefs for Modula-3 Hi, I'm looking for some vgrindefs for Modula-3 for my vgrind printing. Could someone either mail me a copy or point me to an ftp site with vgrindefs for Modula-3? Thanks, Sean -- Sean V. Kelley skelley@tisl.ukans.edu = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Telecommunications and Information Sciences Laboratory (TISL), || K The University of Kansas, Lawrence, Kansas USA || U = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = "Bi/onn driopa/s ar na h-amada/in nuair a bhi/onn drugall ar na h-aingil" ======================================================================= 11 === Date: Fri, 11 Jun 1993 13:17:53 GMT From: jredford@shearson.com (John Redford) Subject: Re: vgrindefs for Modula-3 In article <1993Jun10.180848.50803@kuhub.cc.ukans.edu> skelley@tisl.ukans.edu ( Sean V. Kelley ) writes: I'm looking for some vgrindefs for Modula-3 for my vgrind printing. Could someone either mail me a copy or point me to an ftp site with vgrindefs for Modula-3? Here is what I have been using for a good while now... modula3|mod3|m3:\ :pb=(^\d?PROCEDURE\d\p\d|\(|;|\:):\ :cb=\(*:ce=*\):\ :lb=':le=\e':\ :ab=<*:ae=*>:\ :sb=":se=\e":\ :kw=ABS ADDRESS ADR ADRSIZE AND ANY ARRAY AS BEGIN BITS BITSIZE\ BOOLEAN BRANDED BY BYTESIZE CARDINAL CASE CEILING CHAR CONST\ DEC DISPOSE DIV DO ELSE ELSIF END EVAL EXCEPT EXCEPTION EXIT\ EXPORTS EXTENDED FALSE FINALLY FIRST FLOAT FLOOR FOR FROM IF\ IMPORT IN INC INTEGER INTERFACE ISTYPE LAST LOCK LONGREAL LOOP\ LOOPHOLE MAX METHODS MIN MOD MODULE MUTEX NARROW NEW NIL NOT\ NULL NUMBER OBJECT OF OR ORD OVERRIDE PROCEDURE RAISE RAISES\ READONLY REAL RECORD REF REFANY REPEAT RETURN REVEAL ROOT ROUND\ SET SUBARRAY TEXT THEN TO TRUE TRUNC TRY TYPE TYPECASE TYPECODE\ UNSAFE UNTIL UNTRACED VAL VAR WHILE WITH This works quite well, but might be sub-optimal. If anyone sees any problems with it, let me know. -- John Redford (AKA GArrow) | 3,600 hours of tape. jredford@lehman.com | 5 cans of Scotchguard. ======================================================================= 12 === Date: 11 Jun 93 20:29:17 GMT From: norman@flaubert.bellcore.com (Norman Ramsey) Subject: M3 BOF at PLDI? Is anyone organizing a Modula-3 birds-of-a-feather session at the upcoming SIGPLAN PLDI conference in Albuquerque? Norman -- Norman Ramsey norman@bellcore.com ======================================================================= 13 === Date: Fri, 11 Jun 93 21:47:36 GMT From: nichols@parc.xerox.com (David Nichols) Subject: Re: vgrindefs for Modula-3 Date: Fri, 11 Jun 1993 14:44:23 PDT X-Received: from localhost by osprey.parc.xerox.com with SMTP id <6086>; Fri, 1 1 Jun 1993 14:44:24 -0700 X-Received: by src-mail.pa.dec.com; id AA00825; Fri, 11 Jun 93 14:47:30 -0700 X-Received: by inet-gw-1.pa.dec.com; id AA26820; Fri, 11 Jun 93 14:47:27 -0700 X-Received: from osprey.parc.xerox.com ([13.2.116.9]) by alpha.xerox.com with S MTP id <11816>; Fri, 11 Jun 1993 14:44:36 PDT X-Received: by src-news.pa.dec.com; id AA09474; Fri, 11 Jun 93 14:47:33 -0700 > I'm looking for some vgrindefs for Modula-3 for my vgrind printing. > Could someone either mail me a copy or point me to an ftp site > with vgrindefs for Modula-3? M3pp, included in the M3 distribution, will also do fancy formatting for PostScript. It will change the line breaks from your original source code, but it will also align declarations in to nice columns using the real PostScript font widths. To install m3pp (if you haven't already), you'll need to edit FBEPostScript.m3 and change AFMDir to point to a directory with the PostScript font metric files ("AFM files"). These give the widths of all the characters in the various fonts. If you have the Transcript product from Adobe, you already have these files. Otherwise, you can pick them up via ftp from ftp.adobe.com:/pub/adobe/AFMFiles/. This a directory with a 00README file and a bunch of subdirs with the AFM files. David ======================================================================= 14 === Date: Fri, 18 Jun 93 21:29:03 GMT From: mhb@src.dec.com ("Marc H. Brown") Subject: Modula-3 textbook on available! Date: Fri, 18 Jun 93 14:29:00 -0700 X-Received: by ash.pa.dec.com; id AA21666; Fri, 18 Jun 93 14:29:00 -0700 X-Received: by src-news.pa.dec.com; id AA11719; Fri, 18 Jun 93 14:29:01 -0700 X-Mts: smtp I'm please to announce that I just got back from Stanford Bookstore with a copy of Sedgewick's Algorithms in Modula-3 just published by Addison-Wesley. >From the back of the book: "This latest version of Robert Sedgewick's popular book exhibits his comprehensive collection of algorithms in a modular, object-oriented programming environment with implementations in the Modula-3 language. These algorithms cover a broad range of fundamental and more advanced methods: sorting, searching, string-processing, geometric, graph, and mathematical algorithms." The ISBN number is 0-201-53351-0. Cost is $42.95. P.S. Some of the algorithm animations on the DEC SRC Modula-3 release on gatekeeper are closely tied to the diagrams for this book. ======================================================================= 15 === Date: Sun, 20 Jun 93 18:14:45 GMT From: frode@ODEGARD.COM (Frode Odegard) Subject: Modula-3 textbook on available! Date: Sun, 20 Jun 93 10:06:53 PDT X-Received: from rand.ODEGARD.COM by ODEGARD.COM (4.1/SMI-4.1) X-Received: by src-mail.pa.dec.com; id AA17784; Sun, 20 Jun 93 11:14:41 -0700 X-Received: by rand.ODEGARD.COM (4.1/SMI-4.1) X-Received: by inet-gw-2.pa.dec.com; id AA01437; Sun, 20 Jun 93 11:14:40 -0700 X-Received: from surak.UUCP by cs.sfsu.edu (5.65/A/UX-3.00-930326) X-Received: by src-news.pa.dec.com; id AA06701; Sun, 20 Jun 93 11:14:42 -0700 Hm. Wasn't there some announcement that there would be an algorithm animation CD from SRC closely associated with this book? Is this still happening? I hope so, since I enthustastically told to all my friends about it.. :-) - Frode -------------------------------------------------------------------- Odegard Labs, Inc. +1-415-434-4242 (voice) 100 Bush St., Suite 2101 +1-415-434-4243 (fax) San Francisco, CA 94104-3909, USA frode@odegard.com (internet) ======================================================================= 16 === Date: 21 Jun 1993 10:35:57 GMT From: heinze@i41s5.ira.uka.de (Ernst A. Heinz) Subject: Modula-3* paper available by anonymous ftp 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". To retrieve DVI, PostScript, or compressed Postscript versions of the paper please connect to i41s10.ira.uka.de by anonymous ftp. There, the directory pub/m3s contains the corresponding files named jspp93.dvi, jspp93.ps, and jspp93.ps.Z. -rw-r----- 1 ftp ftp 41604 Jun 14 14:22 jspp93.dvi -rw-r----- 1 ftp ftp 147095 Jun 14 14:22 jspp93.ps -rw-r----- 1 ftp ftp 59509 Jun 14 14:22 jspp93.ps.Z Don't forget to use binary mode when retrieving the DVI or compressed PostScript versions! Please send me a short email containing your full name and address plus affiliation if you retrieve any of the above. For your information I include the abstract of my JSPP'93 paper below. -------------------------------------------------------------------------- MODULA-3*: AN EFFICIENTLY COMPILABLE EXTENSION OF MODULA-3 FOR PROBLEM-ORIENTED EXPLICITLY PARALLEL PROGRAMMING Ernst A. Heinz, University of Karlsruhe, F.R. Germany (email: heinze@ira.uka.de) In this paper we present the programming language Modula-3* and machine-independent optimization techniques for its compilation. We consider Modula-3* to be a promising new framework for problem-oriented explicitly parallel programming that aims at high performance on a variety of architectures and machines. By proposing a large collection of effective optimizations we illustrate the feasibility of efficient Modula-3* compilation. We ensure portability of the compiler by formulating most optimizations as source-to-source transformations in the intermediate high-level language Modula-3\pi, an extension of Modula-3* especially designed for this task. -------------------------------------------------------------------------- In case of any questions or problems, please don't hesitate to contact me directly. Cheers. =Ernst= +--------------------------------------------------------+-------------------+ | Ernst A. Heinz (email: heinze@ira.uka.de) | | | Institut fuer Programmstrukturen und Datenorganisation | Make it as simple | | Fakultaet fuer Informatik, Universitaet Karlsruhe | as possible, but | | Postfach 6980, W-7500 Karlsruhe 1, F.R. Germany | not simpler. | | (Voice: ++49/(0)721/6084386, FAX: ++49/(0)721/694092) | | +--------------------------------------------------------+-------------------+ ======================================================================= 17 === Date: Mon, 21 Jun 1993 00:11:57 GMT From: cjlin@cauchy.math.ntu.edu.tw (N/_aDn) Subject: information modula3 I have left the field of programming language for many years so I don't know any thing about Modula-3. Could someone point out me where to find information of Modula-3. Thanks in advance. Chih-Jen Lin Dept. of Math., National Taiwan Univ. ======================================================================= 18 === Date: 21 Jun 93 18:37:55 From: fraser@eros.europarc.xerox.com (Quentin Stafford-Fraser) Subject: M3 & Python? Has anybody embedded Python in an M3 system as a scripting language? Python should go with M3 much better than, say, Tcl, but I haven't heard of any M3 interfaces to it. Quentin Stafford-Fraser -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Quentin Stafford-Fraser Rank Xerox EuroPARC, These are the Good Old Days Cambridge, UK Just wait and see. Tel: +44 223 341539 Fax: +44 223 341510 Steve Turner Fraser@europarc.xerox.com ======================================================================= 19 === Date: 21 Jun 1993 23:03:49 +0800 From: sdarragh@tartarus.uwa.edu.au (Stephen Darragh) Subject: Free Modula-3 compilers for System V Hi... Can anyone tell me if/where there are any free Modula-2 compilers for System V R4 386 unices? ... Stephen ======================================================================= 20 === Date: Mon, 21 Jun 1993 19:22:39 GMT From: dave@yost.com (Dave Yost) Subject: Mac now ready for M3 - threads now supported In case anyone was considering a port of M3 to the Mac, you will be pleased to know that in the last few weeks Apple officially released the "Thread Manager", so you hopefully can now implement M3 threads easily on the Mac. -- Dave Yost @ .COM ======================================================================= 21 === Date: Wed, 23 Jun 1993 12:47:20 GMT From: os102@cl.cam.ac.uk (Oliver Stephens) Subject: Re: Mac now ready for M3 - threads now supported In article , dave@yost.com (Dave Yost) writes: |> In case anyone was considering a port of M3 to the Mac, |> you will be pleased to know that in the last few weeks |> Apple officially released the "Thread Manager", so you |> hopefully can now implement M3 threads easily on the Mac. |> It's not as hopeful as it sounds. The implementation is based mainly on cooperative threads (pre-emptive threads do exist but run at interrupt time and so cannot do anything that might move memory). I am using the Thread Manager in my port of M3 to the Mac and am working on a scheme for creating proper pre-emptive threads. Of course, I shall keep this newsgroup informed of my progress. ------------------------------------------------------------------------- Olly Stephens oliver.stephens@cl.cam.ac.uk Computer Laboratory University of Cambridge Loved you there and then, and now like a sheep United Kingdom - Van Morrison ======================================================================= 22 === Date: Sat, 26 Jun 93 01:46:45 GMT From: frode@ODEGARD.COM (Frode Odegard) Subject: CALICO Date: Fri, 25 Jun 93 18:45:35 PDT X-Received: from rand.ODEGARD.COM by ODEGARD.COM (4.1/SMI-4.1) X-Received: by src-mail.pa.dec.com; id AA00675; Fri, 25 Jun 93 18:46:41 -0700 X-Received: by inet-gw-2.pa.dec.com; id AA20146; Fri, 25 Jun 93 18:46:39 -0700 X-Received: from surak.UUCP by cs.sfsu.edu (5.65/A/UX-3.00-930326) X-Received: by src-news.pa.dec.com; id AA06504; Fri, 25 Jun 93 18:46:42 -0700 Has anyone formed an opinion on AT&T's CALICO language yet? I got a blurb in the mail the other day. - Frode