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,a77baf86c187076a X-Google-Attributes: gid103376,public From: kilgallen@eisner.decus.org (Larry Kilgallen) Subject: Re: Garbage collection (was a spinoff of a spinoff of a GA Date: 1996/10/21 Message-ID: <1996Oct21.160750.1@eisner>#1/1 X-Deja-AN: 191013016 x-nntp-posting-host: eisner.decus.org references: <9610171549.AA07433@most> <54gb7a$nbh@linus.mitre.org> x-nntp-posting-user: KILGALLEN x-trace: 845928478/17561 organization: LJK Software newsgroups: comp.lang.ada Date: 1996-10-21T00:00:00+00:00 List-Id: In article <54gb7a$nbh@linus.mitre.org>, mfb@mbunix.mitre.org (Michael F Brenner) writes: > This argument that something is an implementation detail is used (often > by other people whose initials also happen to be RD). Why should that > invalidate the Requirement we have for those implementation details? > If we want Ada compilers to generate code that runs as fast as C code, > what is so wrong with that, particularly when the language has been > designed to be highly optimizable. There has evolved a method of arguing > down people who present their problems in this forum, which draws a magic > line as to what is a language requirement and what is an implementation > detail. > > I do not agree with where that line has been drawn. > > Let us start by defining an Ada compiler as a computer program that > translates Ada source code into object code (whether byte code, > machine code, or an interpretive data structure which is not much > more than annotated source code). > > The Requirements on this code fall into two categories: first, there > is a requirement to execute the object code in accordance with the > semantic meaning assigned by the reference manual with no errors such > as memory leaks or sigsegv failures, and second, there is a Requirement > to meet the realtime expectations of the users. I presume that your realtime expectations "requirement" is not based on the fact that there is a realtime annex, or else you would have listed other requirements. There are many other requirements as strong as realtime expectations and the other annexes which users have which are not codified. Ease of use is one, for example in the generation of clear and complete error messages. Many Ada compilers have built a tradition of very precise error messages, and as much as those have saved me time, I would hate to think they were the result of excessive deliberation in a standards process. The legend as I heard it is that the compiler I have used most got the idea from another compiler and put emphasis on error message quality. As people have learned from the Ada Mandate, rulemaking does not always lead to the success for which one might hope. I just got over a bit of sticker shock from someone's idea of a price for an Ada compiler, and I would hate to think that any of that price was due to a death-wish to be a pioneer in the area of garbage collection. Since nobody claims to have a working Ada 95 compiler which collects garbage, it sounds like an excellent research project. Even though Robert Dewer does not see it as cost-effective for ACT, perhaps he will be accosted by some advanced student in need of thesis work. After several such students have tried at various institutions, and some of them have succeeded, then implementors of production compilers may wish to try their hand. In the meantime let them work on the trite possibilities which are fully understood but not yet implemented, such as even better error messages, more platforms, more annexes, etc. Larry Kilgallen