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.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!news.unit0.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Niklas Holsti Newsgroups: comp.lang.ada Subject: Re: How to get Ada to ?cross the chasm?? Date: Tue, 8 May 2018 23:41:30 +0300 Organization: Tidorum Ltd Message-ID: References: <1c73f159-eae4-4ae7-a348-03964b007197@googlegroups.com> <87k1su7nag.fsf@nightsong.com> <87po2la2qt.fsf@nightsong.com> <87in8buttb.fsf@jacob-sparre.dk> <87wowqpowu.fsf@nightsong.com> <16406268-83df-4564-8855-9bd0fe9caac0@googlegroups.com> <87o9i2pkcr.fsf@nightsong.com> <87in88m43h.fsf@nightsong.com> <87efiuope8.fsf@nightsong.com> <322f9b26-01de-4753-bb50-6ef2f3d993d8@googlegroups.com> <87a7th9pd1.fsf@nightsong.com> <87h8no1nli.fsf@nightsong.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net BngA7oYJQz3xno3JRlPHHQ6QAe8Zd6XDty5w6zXfFn75P9LvYN Cancel-Lock: sha1:5v5Na95PL/EMtEkTXRerr+2ZeaI= User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 In-Reply-To: Xref: reader02.eternal-september.org comp.lang.ada:52124 Date: 2018-05-08T23:41:30+03:00 List-Id: On 18-05-04 01:27 , Randy Brukardt wrote: [snip] > There is no realistic chance that Ada will > ever be changed enough to make it amenable to GC. Ouch and wow, when did that direction change? As I remember it, for a long time the mantra was that Ada (83, 95, ...) was compatible with GC, but vendors did not implement GC because there was no immediate demand from the current users (chicken and egg situation). I also remember that some people successfully used the "conservative" GC tools, such as the Boehm GC, with ordinary Ada programs and Ada compilers (one problem being that for arrays, some compilers used "offset pointers" pointing to the location of the hypothetical element at index zero, even if the actual first index was not zero). Were these people misguided? Perhaps this way before controlled types and Finalize operations were introduced? Seems to me that a vanilla Boehm GC would not be able to call the right Finalize before discarding an object. The Ada implementations targeting the JVM or .NET were/are claimed to use the GC provided by the target. Were/are these somehow "non-Ada" implementations? > I proposed such changes > multiple times in the past and got nowhere with them. (The problem being > that the location of finalization of most objects is too late for any useful > GC to be possible -- it's generally associated with the access type, which > is usually declared at the library level. Thus GC can't clean up most > objects until the type goes away -- which is usually when the program > exits.) So the issue is possible side-effects of user-defined Finalize operations, and when those side-effects are allowed to happen? If so, I'm surprised that defining the timing of such side effects was considered more important than being compatible with an implementation using GC. Too bad. Usually GC systems are criticized for finalizing some objects too late. Funny that an Ada GC would be damned for doing it too early... -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ .