From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b307bd75c8071241 X-Google-Attributes: gid103376,public From: jsa@alexandria (Jon S Anthony) Subject: Re: newbie Q: storage management Date: 1997/05/08 Message-ID: #1/1 X-Deja-AN: 240116024 Distribution: world References: <5k5hif$7r5@bcrkh13.bnr.ca> <336E15A4.167E@magellan.bgm.link.com> Organization: PSI Public Usenet Link Newsgroups: comp.lang.ada Date: 1997-05-08T00:00:00+00:00 List-Id: In article bobduff@world.std.com (Robert A Duff) writes: > In article , Robert Dewar wrote: > >In other words, the really strong argument for a GC annex would be if > >you now saw a situation in which lots of Ada 95 vendors were rushing to > >implement GC in an incompatible manner. I don't see that happening yet :-) > > I agree with Robert here. Look at the Real Time Annex: The idea was > that most of the Ada 83 vendors (or at least most of the ones who were > going after the real-time market) were providing more-or-less the same > functionality, but in incompatible ways. The reason the RT annex was > invented, was to encourage compatibility. This certainly makes good sense - at least from one perspective. > In general, it is *not* the purpose a language standard to force > implementers to produce good products. The purpose is to ensure Again, this makes good sense - at least up to a point. But as you say "in general". Why even have generics? Why have tasking? Why have packages? All in a single language? Certainly there are requirements floating around here that were more than simply standardizing all the implementations that were supposedly doing the same sort of thing in some one language but just in incompatible ways. Clearly there are various things having to do with "good" that are not implementation dependent. How about the DSA? How many Ada83 vendors were falling over themselves trying to implement various distributed object scenarios?? Was there anyone doing this? None of the ones I'm aware were. > you can write a compiler for a subset of Ada. The standard doesn't > force you to support all the features of Ada -- your customers with > money to spend are the ones doing the forcing. Yes, this is definitely true. But, you also have to recognize that if something is not specifically called out, most people won't even think it is _possible_. So, it would not even occur to them that they could request it. How many customers do you think would even think of asking for something like the DSA from their _compiler vendor_ if it weren't called out as it is?? > purpose of a GC annex would be to standardize whatever hooks there are > (such as procedures for turning it off and on, specifying how many > generations you want, and so forth). But even within the GC community, > there are strong disagreements about what such hooks ought to look like > -- some people don't like generational GC, so what's that hook supposed > to mean? True enough. One obvious way out of this for Ada is the generalized version of what Robert called out as a "compromise": a subsystem of generics which offered several variants. A single global GC handling all dynamic memory issues isn't really needed. In fact, this is an area where Ada could do something a little different by offering the ability to have multiple collectors per application targetting the specific needs of specific types (or classes of types). This is the sort of thing that I've been working on. /Jon -- Jon Anthony Organon Motives, Inc. Belmont, MA 02178 617.484.3383 jsa@organon.com