Path: utzoo!attcan!uunet!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!rpi!bu.edu!xylogics!transfer!crackers!m2c!umvlsi!dime!dime.cs.umass.edu!moss From: moss@cs.umass.edu (Eliot Moss) Newsgroups: comp.lang.modula2 Subject: Re: for loops Message-ID: Date: 14 Jul 90 22:25:47 GMT References: <1610.269E1B17@puddle.fidonet.org> Sender: news@dime.cs.umass.edu Reply-To: moss@cs.umass.edu Organization: Dept of Comp and Info Sci, Univ of Mass (Amherst) Lines: 40 In-reply-to: Jason.Kankiewicz@f345.n109.z1.fidonet.org's message of 11 Jul 90 04:44:00 GMT In article <1610.269E1B17@puddle.fidonet.org> Jason.Kankiewicz@f345.n109.z1.fidonet.org (Jason Kankiewicz) writes: Eliot, was Niklaus Wirth himself responsible, in whole or in part, for Modula-3. Also, when was M3 introduced and what is garbage collection (the deletion of useless variables?) Wirth was *not* responsible for Modula-3, but he *did* give permission for the name to be used. (Note, *I* am *not* one of the original developers of Modula-3, though I have met with a number of the designers and have made suggestions for future changes (and even gotten one or two minor changes in).) The history of Modula-3 is related a little bit in the Modula-3 Report (Revised), and more on a video tape by Jim Donahue (head of the Olivetti Research Center (now mostly defunct), which participated, along with Digital's Systems Research Center, in the Modula-3 design effort). I think that a draft that was in many respects similar to today's Modula-3 was prepared about 2 years ago. The most recent Report was issued last October (PostScript for which can be ftp'ed from gatekeeper.dec.com, as can the Modula-3 compiler, etc.; read stuff about the license (which is pretty liberal)). Garbage collection is the automatic reclamation of unreachable heap allocated data, i.e., things created by NEW that can no longer be reached by any path of pointers from global variables or stacks of still existing threads (processes). If you interpret the words "deletion", "useless", and "variable" appropriately, then yes, it is "deletion of useless variables", but I would not describe it that way because "variable" has many different meanings to different people, because "useless" is a bit imprecise (to me at least), and because "deletion" is also misleading. Our version of Modula-3 will sport a generation scavenging type collector, which should run quite fast, essentially incrementally, and will compact heap space. I hope this helps your understanding of Modula-3 ..... Eliot -- J. Eliot B. Moss, Assistant Professor Department of Computer and Information Science Lederle Graduate Research Center University of Massachusetts Amherst, MA 01003 (413) 545-4206; Moss@cs.umass.edu