======================================================================= 1 === Date: 3 Jul 1993 05:16:10 GMT From: agulbra@nvg.unit.no (Arnt Gulbrandsen) Subject: Upper case reserved words - why? Paul Vixie wrote in ";login:" about M3: > (5) case is significant even for built-ins, so you _must_ > type a fair amount of your program text in UPPER CASE; My question is simply, _why_ did the M3 committee choose to use upper case? -- Arnt Gulbrandsen agulbra@nvg.unit.no ======================================================================= 2 === Date: Sat, 3 Jul 1993 22:03:47 GMT From: schwartz@roke.cs.psu.edu (Scott Schwartz) Subject: Re: Upper case reserved words - why? agulbra@nvg.unit.no (Arnt Gulbrandsen) writes: My question is simply, _why_ did the M3 committee choose to use upper case? Making the common case difficult to type builds character. Unfortunately most terminals have a Caps-Lock key, which will enable fledgling M3 programmers to escape to FORTRAN mode by typing everything in upper case, not just keywords. ======================================================================= 3 === Date: 4 Jul 93 00:38:08 From: vixie@gw.home.vix.com (Paul A Vixie) Subject: Re: Upper case reserved words - why? I find that M3 code looks quite nice with all-UPPER-case reserved identifiers. But then I use "Electric Modula 3 Mode" in GNU Emacs so I don't have to type all that glorp. But I wouldn't like typing it all even if it were in the same case I usually type in -- if you're not using a language-sensitive editor, you are wasting time and hurrying faster than you need to to your next RSI. -- Paul Vixie "Be neither a conformist or a rebel, for they are really the same thing. decwrl!vixie!paul Find your own path, and stay on it." (me) ======================================================================= 4 === Date: Sun, 4 Jul 1993 22:23:21 GMT From: schwartz@roke.cs.psu.edu (Scott Schwartz) Subject: Re: Upper case reserved words - why? vixie@gw.home.vix.com (Paul A Vixie) writes: I find that M3 code looks quite nice with all-UPPER-case reserved identifiers. Aestetics and ergonomics should work together. If the issue is how nice the text of the program looks, then the right solution is to print (not input) those identifiers in a different typeface, ala tgrind. But then I use "Electric Modula 3 Mode" in GNU Emacs so I don't have to type all that glorp. But I wouldn't like typing it all even if it were in the same case I usually type in -- if you're not using a language-sensitive editor, you are wasting time and hurrying faster than you need to to your next RSI. That's a good point, and in fact I do use emacs (dabbrev-expand is the greatest thing ever), but the existance of emacs doesn't support requiring upper case keywords. Conversely, if you do require the use of some powerful editor like epoch (or some other emacs variant), then you can make keywords appear in any font or color you like, so there's no point in hardcoding the inconvenient case into the language definition. ======================================================================= 5 === Date: 6 Jul 93 11:41:44 From: gary@odin.dfci.harvard.edu (Gary Beckmann) Subject: Re: Upper case reserved words - why? >>>>> "schwartz" == Scott Schwartz writes: schwartz> Nntp-Posting-Host: roke.cse.psu.edu . . . schwartz> Aestetics and ergonomics should work together. If the issue is how schwartz> nice the text of the program looks, then the right solution is to schwartz> print (not input) those identifiers in a different typeface, ala schwartz> tgrind. . . . schwartz> That's a good point, and in fact I do use emacs (dabbrev-expand is th e schwartz> greatest thing ever), but the existance of emacs doesn't support schwartz> requiring upper case keywords. Conversely, if you do require the use schwartz> of some powerful editor like epoch (or some other emacs variant), the n schwartz> you can make keywords appear in any font or color you like, so there' s schwartz> no point in hardcoding the inconvenient case into the language schwartz> definition. Let's not forget our history folks. Modula-3 is based on Modula-2 and one of changes between Pascal and the Modula language was the requirement that keywords be in upper case. Now-a-days we have fancy editors and printers ('course I only have a VT320 at home -- any donations? :-), but when the language was developed bitmap displays were expensive. It's all a matter of taste. While we're on the subject, I use epoch (an X based extention to emacs) and was wondering if anyone has put together a hilit.el mode for M3, if not I'll post one that I'll hack together. -- Gary Beckmann gary@poseidon.dfci.harvard.edu Disclaimer: I'm a consultant, they pay money so that they can ignore these opinions. You can ignore them for free. Quote: "I never met a chocolate I didn't like." --Deanna Troi, STtNG ======================================================================= 6 === Date: 6 Jul 1993 06:51:16 -0700 From: PJENSEN@CSI.compuserve.com Subject: Upper case reserved words - why? Date: 06 Jul 93 09:46:10 EDT X-Received: by src-mail.pa.dec.com; id AA16011; Tue, 6 Jul 93 06:51:13 -0700 X-Received: by inet-gw-2.pa.dec.com; id AA23069; Tue, 6 Jul 93 06:51:12 -0700 X-Received: by iha.compuserve.com (5.67/5.930129sam) X-Received: by src-news.pa.dec.com; id AA27929; Tue, 6 Jul 93 06:51:15 -0700 It is interesting that the issue of case in keywords and reserved identifiers is being raised, as I was on the point of raising it myself. My favorite style of program presentation is the WEB format used in Knuth's recent work, with keywords in lower-case bold, and identifiers in lower-case italic. Since no sane person would actually want to use a lower-case "homonym" of a predefined M3 word as an identifier, I would urge that compilers be required to accept either solid upper or solid lower case for these words. (Although I am reluctant to urge any tinkering with such a generally admirable document as the M3 reference manual.) - Phil Jensen pjensen@csi.compuserve.com ======================================================================= 7 === Date: 6 Jul 1993 11:46:23 -0700 From: jacobi.PARC@xerox.com Subject: Re: Upper case reserved words - why? Date: Tue, 6 Jul 1993 11:42:24 PDT X-Received: by src-mail.pa.dec.com; id AA20293; Tue, 6 Jul 93 11:46:21 -0700 X-Ns-Transport-Id: 0000AA007B74C0DF2FF9 X-Received: by inet-gw-1.pa.dec.com; id AA21456; Tue, 6 Jul 93 11:46:20 -0700 X-Received: from Charon.PARC.Xerox.xns by alpha.xerox.com via XNS id <11769>; T ue, 6 Jul 1993 11:43:42 PDT X-Received: by src-news.pa.dec.com; id AA15123; Tue, 6 Jul 93 11:46:22 -0700 Because upper case keywords are tradition, and, unless there is some benefit it is unwise to break with traditions; specially good ones. Because I prefer lower case identifiers which I have to read and upper case keywords which I do not need to read (because the brain recognizes the pattern without reading the characters). I like keywords and identifiers being different; this makes it more easy to navigate in a program text. Christian ======================================================================= 8 === Date: 7 Jul 93 11:19:40 From: andru@tonic.lcs.mit.edu (Andrew Myers) Subject: Re: Upper case reserved words - why? Around here we love Modula-3 semantics, but are not fond of its uppercase keywords. Since we are also CLU hackers from way back, we find semicolons repugnant as well. The Modula-3 users here use my "m3process" preprocessor to avoid using upper case or semicolons. We find that writing in this dialect of Modula-3 makes programs more readable, easier to type, and less prone to those silly semicolon omissions. With appropriate flags, the preprocessor will only do the case conversion. This preprocessor can be obtained by anonymous ftp from pion.lcs.mit.edu:/pub/m3su. Here's a sample of an interface written in this Modula-3 dialect: (provided by Mark Day) interface SimpleCacheWindow from Abbrev import Card from StdExcept import Bounds import VBT, PaintOp type T <: Public Public = Private object methods setPixel(addr: Card, c: PaintOp.T) raises {Bounds} setPixelNoSync(addr: Card, c: PaintOp.T) raises {Bounds} reset() init(size: Card) end Private <: VBT.Leaf procedure Create (size: Card): T end SimpleCacheWindow. Here is an excerpt from the manual page: Public Domain M3PROCESS(1) NAME m3process - process Modula 3 source files SYNOPSIS m3process [ -o output-file ] [ -uldfps ] DESCRIPTION m3process creates Modula-3 interface and implementation files (both gen- eric and normal) from source files written in an almost identical language that I will call m3su for convenience. There are two major differences between m3su and Modula-3. In m3su, keywords and reserved words may be either all-uppercase or all-lowercase. In addition, semi- colons are nowhere allowed in m3su. Variables may be introduced at any point within a block of code. They will remain in scope until the end of the block. To indicate this kind of scoping, a double colon "::" is placed after the variable declara- tions (rather than a "begin...end"). Ordinary block-style variable declarations are still allowed. Variables may also be introduced using the "with" statement in a similar manner: the word "do" may be omitted and replaced with a double colon. No "end" needs to terminate the "with". Instead, the variables intro- duced will remain in scope until the end of the block. The commas that Modula-3 requires between the individual variable declarations may be omitted. Semicolons are not allowed in declarations of formals to a procedure. They may be omitted entirely or replaced by commas. m3process will insert line number information in the processed results that will allow compilation errors to be correctly located in the origi- nal m3su file. Sometimes an identifier from a standard package looks like a keyword, in lowercase, such as "val". To let m3process know that the identifier is not a keyword, it must be preceded by a backslash: "\val". Identifiers that are part uppercase, part lowercase, will not be treated as keywords (e.g. "Text"). m3process parses m3su source files considerably faster than the current implementation of the Modula-3 compiler, so you can catch syntax errors much more quickly (though it doesn't recover from errors). ======================================================================= 9 === Date: Thu, 8 Jul 1993 15:18:54 GMT From: dave@yost.com (Dave Yost) Subject: Re: Upper case reserved words - why? In article andru@tonic.lcs.mit.edu (Andr ew Myers) writes: > >Around here we love Modula-3 semantics, but are not fond of its >uppercase keywords. Since we are also CLU hackers from way back, we find >semicolons repugnant as well. The Modula-3 users here use my >"m3process" preprocessor to avoid using upper case or semicolons. >We find that writing in this dialect of Modula-3 makes programs >more readable, easier to type, and less prone to those silly semicolon >omissions. NICE! ... I mean, nice -- Dave Yost @ .COM ======================================================================= 10 === Date: Sat, 10 Jul 1993 18:00:44 GMT From: jmkomine@napier.uwaterloo.ca (John Kominek) Subject: DEC FUSE What work has there been done in fitting Modula-3 into the DEC FUSE (Friendly User Software Environment) system? John Kominek ======================================================================= 11 === Date: 13 Jul 1993 13:56:35 GMT From: dsims@leo.ece.uc.edu (David Sims) Subject: SRC M3 port to SunOS 5.2 or OSF/1 ??? Has anyone begun work on a SRC M3 port to either SunOS 5.2 or OSF/1? We have a student who is interested in incorporating POSIX threads into SRC M3. We're trying to get the SPARC release of SRC M3 to compile under SunOS 5.2, but imake.c won't even compile and we haven't found a fix yet. Anyway, if anyone else is working on one of these ports, please let me know. Thanks. -- David L. Sims Dept. of Electrical and Computer Engineering david.sims@uc.edu University of Cincinnati +1 (513) 556-2499 Cincinnati Ohio 45221-0030 PGP mail preferred. USA ======================================================================= 12 === Date: Mon, 12 Jul 1993 08:32:11 GMT From: tito@di.unipi.it (Tito Flagella) Subject: X Window Interface I have a graphical application using the m3X11R4 library and the standard libX library. The application works well both with MIT X11R5 server and with the Open Windows 2.0 news server. When used against an Open Windows 3.0 news server the application causes the se rver to crash. I tried to link the application both with the X11R5 and OpenWind ows X library, but without any success. Anybody is aware of similar problems using the Modula 3 interface to X Window w ith the OpenWindows 3.0 news server? Is there a more recent X11R5-based Modula 3 graphical library? Tito Flagella ------------------------------------------------------------------- Tito Flagella Information Technology Consultant Universita' di Pisa --------------------------------- Dipartimento Informatica email: tito@di.unipi.it Corso Italia 40 fax : +39 (50) 510226 I-56125 Pisa tel : +39 (50) 510263 ------------------------------------------------------------------- ======================================================================= 13 === Date: Wed, 14 Jul 1993 18:10:39 GMT From: strzelin@sscdaq.phy.bnl.gov (Bob Strzelinski) Subject: M3 Success Stories Here at BNL, I have M3 2.11 up and running on software distribution disks for SGI (IRIX 4.0.5) and DEC (Ultrix 4.3) systems, and will have a SUN version up as soon as I can free up (or buy) some disk space. IMHO, M3 is a superior language to C++ in many ways. Unfortunately, the high-energy physics community here in particular, and the scientific programming community in general, seems to be moving toward C++ (perhaps by default) as its standard OOP language. I think this is a mistake, at least without considering any serious alternatives. I have been trying to advance the case for M3 as an alternative strongly- and statically-typed language here. So far, I have met with little success or enthusiasm. In order to lend weight to my arguments, I am asking M3 users out there for some anecdotal record of their experiences using M3 in non-trivia l projects. Email me your success (or horror, let's be balanced) stories and if the response is significant, I will post a summary to this newsgroup (for you other M3 advocates to use in persuading your boss, colleagues, pets, etc). By the way, I personally am primarily interested in hearing about real-time, data acquisition, and GUI development projects (but I will include projects in other areas in the summary). Thanks in advance to anyone who responds to this request. /////////////////////////////////////////////////////////////////////////////// // Robert J Strzelinski // Brookhaven National Laboratory // // strzelin@sscdaq.phy.bnl.gov // Upton, NY 11973-5000 // /////////////////////////////////////////////////////////////////////////////// ======================================================================= 14 === Date: Wed, 14 Jul 1993 19:51:36 GMT From: jredford@shearson.com (John Redford) Subject: Re: X Window Interface In article <1993Jul12.083211.18682@serra.unipi.it> tito@di.unipi.it (Tito Flage lla) writes: I have a graphical application using the m3X11R4 library and the standard libX library. The application works well both with MIT X11R5 server and with the Open Windows 2.0 news server. When used against an Open Windows 3.0 news server the application causes the server to crash. I tried to link the application both with the X11R5 and OpenWindows X library, but without any success. Anybody is aware of similar problems using the Modula 3 interface to X Window with the OpenWindows 3.0 news server? Is there a more recent X11R5-based Modula 3 graphical library? I personally have a couple problems using m3X11R4 with X11R5. The main one is that my window manager isnt getting events it should, like the 'raise' button being pressed in a trestle window. I had the Openwindows problem. Got this response. Tried it. Worked. ------------------------------------------------------------ From: David Goldberg Subject: Re: Openwindows dies 1. Patch xnews. The Sun bugID for this is 1082200 UngrabKey for a particular keycode after GrabKey for AnyKey crashes xnews Sun has a patch for this. The one I got from Sun was labeled: Patch-ID# 100444-14 Keywords: X11-NeWS, server, patch, xnews Synopsis: Openwindows V3.0 Server Patch 3000-22 Date:04/01/92 2. Patch Trestle In XClient.m3, replace X.XGrabKey(trsl.dpy, X.AnyKey, X.AnyModifier, ur.w, X.True, X.GrabModeAsync, X.GrabModeAsync); with VAR min, max: INTEGER; BEGIN X.XDisplayKeycodes(trsl.dpy, ADR(min), ADR(max)); FOR i := min TO max DO X.XGrabKey(trsl.dpy, i, X.AnyModifier, ur.w, X.True, X.GrabModeAsync, X.GrabModeAsync); END; END; ======================================================================= 15 === Date: Sat, 17 Jul 1993 01:12:33 GMT From: tmetzger@cancer.csil.sfu.ca (Thomas Metzger) Subject: RANK AMATEUR QUESTIONS! Well, it seems that I've got a project due that has to be written in Modula 3, but I don't know the first thing about how the compiler works. The following programs do not compile: INTERFACE Job; (* dummy *) TYPE Job <: REFANY; END Job. MODULE Job; (* Dummy implementation *) REVEAL Job = BRANDED OBJECT cputime : INTEGER; entrytime : INTEGER END; BEGIN END Job. Now granted, they're not very interesting, but I need a 'stub' for testing purposes. Both fail to compile, citing an "incomplete program" fatal error. SO, I can see that they're probably incomplete, but just exactly what must I add to them to make them minimally complete? Please respond in email, since I'm sure no REAL Modula3 programmers are too interested in this stuff. Thanks! -- ()~`~`~`~`~`~`~`~`~`~`() "Baldric, you wouldn't know a cunning plan if it () Tom Metzger () painted itself blue and danced naked on top of aa () tmetzger@sfu.ca () harpsichord singing `cunning plans are here again!'" ()_,_,_,_,_,_,_,_,_,_,() -E. Blackadder (III) ======================================================================= 16 === Date: Sat, 17 Jul 1993 13:59:21 GMT From: whitney@christie.Meakins.McGill.CA (Whitney de Vries) Subject: Modula better than C L. Griffiths wrote a paper called _Modula-2 is Three Times less Error Prone than C_. Proceedings of the Second International Modula-2 Conference, 332-338. Loughborough University, UK. Sep 1991. The paper does a quantitive analysis of error classes as they occur when programming in C or in Modula-2, respectively. Has anyone seen any similar papers in favour of the successors of Pascal over C-like languages. Equally intresting would published contra-arguments. Thanks, Whitney ======================================================================= 17 === Date: Fri, 16 Jul 1993 22:30:44 GMT From: pc0100@medtronic.COM (Paul R. Cole) Subject: SRC M3 ftp sources, Other M3 resources Looking for the FTP site(s) for the M3 sources and any other good M3 stuff. I'm new to M3 but am an old hand at Pascal ( esp. HP PASCAL)/M2 and am looking for some OOP lang. other than C++. (Which I use for the same reason I use MS-DOS, I have to eat :-) ). I'm sure this is FAQ stuff but I haven't seen one here or in our system. Thanks ======================================================================= 18 === Date: Sun, 18 Jul 1993 01:37:55 GMT From: larson@plains.NoDak.edu (Steve Larson) Subject: Modula-3 problems with NeXTSTEP 3.0 I saw a posting awhile ago giving a solution to problems installing libm3 on the NeXT. The archive on gatekeeper has not been updated recently so I'll ask here. I get the following error when installing libm3: # m3make build_install.libm3 Sat Jul 17 19:07:41 CDT 1993 ****************************************** libm3 zcat libm3-2.11.tar.Z | /bin/tar xf - /m3/M3/bin/m3make -f m3makefile.libm3 all install dirname: Command not found. mkdir libm3/NEXT -------------------------------------- libm3/NEXT Make: Don't know how to make /M3Config.m3. Stop. *** Exit 1 Stop. *** Exit 1 Stop. I believe it was a cpp problem but I don't remember the solution. Would someone please Email me? Thanks. Steve Larson larson@plains.NoDak.edu ======================================================================= 19 === Date: 19 Jul 1993 16:21:22 GMT From: madmats@lglsun.epfl.ch (Mats Weber) Subject: M3 reference manual Hello, I have an M3 reference manual dated Novermber 1, 1989 and published by DEC SRC. I know it is not the last version since it does not include generics. I know the last version was published in a book, is it also available in postscript form through anonymous ftp ? Thanks Mats ======================================================================= 20 === Date: 23 Jul 1993 13:12:21 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: Thread - Question: reverse to yield? Is there a possibility that a thread gets (nearly) the whole processor time for a specific interval? (A sort of reverse function to Thread.Yield();i) Stated in other words: That a thread is priorized over all others for a specific interval? Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 21 === Date: 23 Jul 1993 12:09:45 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: ViewportVBT-question: ScrollTo coordinates? What values I have to use in the ViewportVBT for ScrollTo? The documentation requests coordinates as Rect.T. I suspect that it does not want world coordinates (0-1,0-1), neither domain ranges (visible region of VBT). But where I can get the intervals from I can use Rects from here? Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 22 === Date: 23 Jul 1993 12:21:59 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: Zeus - Question: new window during animation? Does an possibility exist to interactively open a window (e.g. a view) during the running animation? Background: The user should be able to click on a specific portion of a system view to get detailed information about it. Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 23 === Date: 23 Jul 1993 13:10:30 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: Zeus - Question: View-manipulation after animation end? Is there a possibility, that after ending an animation run, a specific view gets the input focus or the input focus could be moved to this view? Background: Certain views contain histories about the run and the user is able the toggle specific options of the view and to scroll within this history. After animation end this scrolling unfortunately isn't possible any longer. Current solution: (non-elegant, but it works) Definition of a feedback event, which allows the Algorithm (Run) to terminate. Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 24 === Date: 23 Jul 1993 13:00:40 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: Question to Zeus: interaction with panel? Q1: How can I control thread-processes, which are forked off from the RUN procedure, with the Zeus-Panel-Buttons STOP,STEP,ABORT ? Background: the forked processes are simulating a distributed algorithm. Q2: Is there a possibility to use the Zeus RUN,ABORT - Buttons in the Run-procedure, analog to ZeusPanel.Pause(..)? Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 25 === Date: 23 Jul 1993 12:26:23 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: Question to VBTkit: reverse operation to ZSplit.Insert? Does a reverse operation to ZSplit.Insert exists, i.e. a function, which closes a window opened with ZSplit.Insert? Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 26 === Date: 23 Jul 1993 12:24:36 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: Zeus - Question: communication between views? According M.H. Brown, Zeus: A System for Algorithm Animation and Multi-View Editing. Palo Alto, 1992 (pg.20) communication from program to views uses interesting events (IE) and from a view to the program uses feedback events (FE). In a special setting here interesting events are sent from the Run-procedure to two different views. Both deliver feedback events to the appropriate procedures in the main program (FE ViewI, FE ViewII). According a special FE in ViewII a special action in ViewI should happen. Therefore "FE ViewII" delivers an IE to ViewI. IE Hauptprogramm IE View I <------------- Run -------------------------> View II | | FE | | -------------------> FE View I FE | | - - - - - - - - - - FE View II <----------------------------- IE ..... Problem: apparently a "deadlocked" system. Documentation excerpt: Feedback events are delivered to the algorithm; they are typically generated by a view. Feedback events occur with VBT.mu locked and the ^^^^^^^^^^^^^^ algorithm Paused. Update events are generated by an ^^^^^^^^^^^^^^^^^^^ algorithm in response to feedback events and are delivered to views; they occur with VBT.mu locked and the algorithm Paused. Our (non-elegant but running) solution for the moment: In "FE ViewII" a global boolean variable will be set true. In the "Run-Procedure" this variable will be checked. If its true, an IE to ViewI will be emitted. Is there an elegant solution possible? Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 27 === Date: 23 Jul 1993 13:02:23 GMT From: mester@tamfana.informatik.uni-dortmund.de (Arnulf Mester) Subject: Question to Zeus: data types in evt-file? Is there a way to define data TYPE's in the *.evt file ? I like to create an event like: MyView.evt > IMPORT List.T,Fmt.List (* <- that's o.k.*) > > TYPE station = RECORD > name :TEXT := "undefined"; > color :TEXT := "Black"; > END; > >OUTPUT Init(StationList:List.T [Fmt.ListToText]); My intention is to create a VIEW - object so that i can import a MyViewViewClass,MyViewAlgClass, MyViewIE, in the algorithem so that i can use a construct like this: >IMPORT MyViewIE,...; >PROCEDURE Run(self:T) RAISES {Thread.Alerted}= >VAR NewStation : REF MyViewAlgClass.station; > StationList : List.T; >BEGIN > NewStation := NEW(REF MyViewAlgClass.station,name:="First-Point", color:="Red"); > StationList := List.Append1D(StationList,NewStation); > MyViewIE.Init(self,StationList); It is posible to define an external interface "Station.i3" and to import this in the algorithm-,view- and MyView.evt implementations, but that isn't effectiv, because these type belong to the a special View. The algorithm- and viewi mplementations have declarations like: > NewStation := NEW(REF Station.station,name:="First-Point", color:="Red"); The manpages of m3zume contains the following: Before any of these procedure headers, the procedure arguments, followed by a section introduced by the keyword ALGDATA that contains the data fields that should belong to a AlgClass.T. ^^^^^^^^^^^ Thanks in advance, kind regards, Arnulf Mester ___ //// Arnulf Mester, Dipl.-Inform. UNI DO// Subj.: Distrib. Systems / Comp. Networks (Prof.Dr. H.Krumm) ___ //// Internet: mester@ls4.informatik.uni-dortmund.de \*\\/// Mail: A.Mester, Informatik IV, University, 44221 Dortmund, Germany \\\\/ Phone: +49 231 755-4662 (Q), Secretariate: -2596, Fax: -2386 ======================================================================= 28 === Date: 23 Jul 1993 23:08:48 -0700 From: heydon@src.dec.com Subject: Re: Question to VBTkit: reverse operation to ZSplit.Insert? Date: Fri, 23 Jul 93 23:08:46 -0700 X-Received: by pebbles.pa.dec.com; id AA08008; Fri, 23 Jul 93 23:08:46 -0700 X-Received: by src-news.pa.dec.com; id AA12208; Fri, 23 Jul 93 23:08:47 -0700 X-Mts: smtp > Does a reverse operation to ZSplit.Insert exists, i.e. > a function, which closes a window opened with ZSplit.Insert? The Split.Delete procedure is the inverse of ZSplit.Insert. Since a ZSplit.T is a subtype of a Split.T, all of the procedures in the Split interface apply to ZSplit's. >From the Split interface: PROCEDURE Delete(v: T; ch: VBT.T) RAISES {NotAChild}; (* Delete the child "ch" of the split "v", detach "ch", and mark "v" for redisplay. *) In this comment, the phrase "detach ch" simply means that "ch"'s parent is set to NIL. Allan Heydon heydon@src.dec.com DEC Systems Research Center (415) 853-2142 130 Lytton Ave. (415) 853-2104 (FAX) Palo Alto, CA 94301 ======================================================================= 29 === Date: 24 Jul 1993 19:21:59 GMT From: d92hl@efd.lth.se (Henrik Laurila) Subject: Amiga M3 Compiler I have heard of a publicdomain modula-3 compiler for the Amiga. Does anyone know more about this, or if it is available at any anonymous ftp-site? Thanks. /HL -- ! Henrik Laurila ! University of Lund ! +46-(0)40 960766,+46-(0)46 107697 ! ! Kvartettgatan 6 ! Department of Physics ! Henrik.Laurila@fysik.lu.se ! ! 215 71 MALMO ! Kryolab ! FYSIK_KRYO@ursula.lucas.lu.se ! ! Sweden ! Lund, Sweden ! d92hl@efd.lth.se ! ======================================================================= 30 === Date: Mon, 26 Jul 1993 18:24:58 GMT From: grlw1@cus.cam.ac.uk (Rich Walker) Subject: gnu modula-3 Is there a status on this yet? I've just discovered I need to have a large Modula-3 program running on a machi ne that has gcc (sort of) but not the SRC Modula-3 (Acorn Archimedes _without_ Ris cIx); anyone any idea which would port faster? (help!) -- --- Rich! Walker (grlw1@cus.cam.ac.uk) "This government hasn't even got whips and tellers who are capable of counting. No wonder this country is up to its neck in debt" - Dennis Skinner, Labour MP ======================================================================= 31 === Date: 28 Jul 1993 12:13:34 -0700 From: mdec@VAX1.cmr.ca (Michel de Champlain) Subject: Mailing list Date: Wed, 28 Jul 1993 15:13:20 -0400 (EDT) X-Mailer: ELM [version 2.4 PL5] X-Received: by src-mail.pa.dec.com; id AA15738; Wed, 28 Jul 93 12:13:25 -0700 X-Content-Type: text X-Content-Length: 445 X-Received: by inet-gw-1.pa.dec.com; id AA06976; Wed, 28 Jul 93 12:13:14 -0700 X-Received: by VAX1.cmr.ca (5.65/DEC-Ultrix/4.3) X-Received: by src-news.pa.dec.com; id AA29177; Wed, 28 Jul 93 12:13:32 -0700 Please put me on your M3 mailing list Thanks, ------------------------------------------------------------------------- Michel de Champlain Email: mdec@cmr.ca Computer Science and Engineering Department Fax: (514) 358-6799 College Militaire Royal de St-Jean Voice: (514) 358-6628 Richelain, QC J0J 1R0, CANADA ------------------------------------------------------------------------- ======================================================================= 32 === Date: 28 Jul 1993 23:24:39 -0400 From: neeri@err.ethz.ch (Matthias Neeracher) Subject: RFD: comp.programming.literate Request for Discussion: comp.programming.literate ------------------------------------------------- Proposed name: comp.programming.literate Proposed moderation status: unmoderated Proposed Charter: A forum for the discussion of issues related to literate programming. (1) To share ideas, questions, experiences, and knowledge about the reading and writing of literate programs. (2) To discuss the merits of the currently existing literate programming tools. (3) To discuss the design of new literate programming tools. Background: What is Literate Programming? In an article published in _The Computer Journal_ 27 (1984), 97-111, Donald E. Knuth proposed a "literate" programming style: I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: "Literate Programming." Let us change our traditional attitude to the construction of programs: Instead of imagining that our main task is to instruct a *computer* what to do, let us concentrate rather on explaining to *human beings* what we want a computer to do. The practitioner of literate programming can be regarded as an essayist, whose main concern is with exposition and excellence of style. Such an author, with thesaurus in hand, chooses the names of variables carefully and explains what each variable means. He or she strives for a program that is comprehensible because its concepts have been introduced in an order that is best for human understanding, using a mixture of formal and informal methods that reinforce each other. A literate programming system can be characterized by the following properties: - The compilable program and the publishable documentation should be generated *automatically* from a *single* document. - The program can be presented in the order that is best for human understanding, regardless of any requirements of the programming language. - The program should be automatically indexed and cross-referenced. Knuth's original system, called WEB, generated Pascal code and a TeX documentation. Most tools relating to the TeX system have been written using WEB, and the TeX and Metafont programs have been published in book form. Today, there are Literate Programming systems for a wide range of programming languages and documentation systems. Specialized Literate Programming tools have been written for Ada, Awk, C, C++, Fortran, Modula-2, Modula-3, Pascal and Scheme, and generic tools exist that can generate almost any programming language (including Perl and sh). Documentation systems supported include TeX, Troff, and Word for Windows. Existing Resources The mailing list LitProg@SHSU.EDU has existed for about a year. There are currently more than 300 subscribers and an average of about 80 messages (corresponding to about 150K of traffic) per month in the first 6 months of this year. If a newsgroup is created, mechanisms are already in place to support a mirrored gateway between it and the existing mailing list. For reference purposes, the newsgroup will be fully archived by the host sponsoring the mailing list. Discussion Discussion should be confined to news.groups. Please do not post responses to any other groups. Discussions may also be e-mailed to neeri@iis.ee.ethz.ch if posting is not possible. Assuming there is a consensus that the group comp.programming.literate should be created, voting will start 21 days from the first posting date of this request. Voting instructions will be published in a Call for Votes to the same newsgroups that see this Request for Discussion. Both this Request for Discussion and the Call for Votes will be crossposted to the "LitProg@shsu.edu" mailing list. Matthias -- Matthias Neeracher neeri@iis.ethz.ch "For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled." - Richard P. Feynman