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,FREEMAIL_FROM, INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,e80a1497a689d8a5 X-Google-Attributes: gid103376,public From: "Vladimir Olensky" Subject: Ada and GC (Was Re: Ammo-zilla) Date: 1999/10/29 Message-ID: #1/1 X-Deja-AN: 541963209 References: <38120FAF.945ADD7D@hso.link.com> <7uutgd$87h$1@nnrp1.deja.com> <19991024.18033546@db3.max5.com> <38189268.43EB150F@mail.earthlink.net> <86ogdjtdwz.fsf@ppp-115-70.villette.club-internet.fr> <3818D4F0.92FC4DC9@mail.earthlink.net> Organization: Posted via Supernews, http://www.supernews.com X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Newsgroups: comp.lang.ada X-Complaints-To: newsabuse@supernews.com Date: 1999-10-29T00:00:00+00:00 List-Id: Charles Hixson wrote in message <3818D4F0.92FC4DC9@mail.earthlink.net>... > Also, and >speaking particularlly to the point of garbage collection, I would >prefer a collector that one could invoke as needed, or at least one that >was easy to stop and start. I believe that the gc calls within Java are >"hints". > Probably Modula-3 GC (exists for more than 10 years) is better "hint" regarding user control over GC. http://www.research.digital.com/SRC/m3sources/html/runtime/src/common/RTColl ector.i3.html http://www.research.digital.com/SRC/m3sources/html/runtime/src/common/RTColl ectorSRC.i3.html These references are also available from the Modula-3 Language definition page: http://www.research.digital.com/SRC/m3defn/html/m3.html There were some concerns that as GC in Ada is not mandatory and it's implementation is up to Ada vendors then using it would lead to loosing portability (compiling and using code originally written for system with GC on a system that does not have GC would lead to memory leaks). To avoid such situation Ada GC could be implemented not within the core system but as separate package. When it WITHed with the user program than it could be invoked for TRACED ACCESS TYPES. So on systems without GC that code just could not be compiled and used without necessary changes. In M3 references by default are traced and when one do not want to use GC with them they are marked as UNTRACED (http://www.research.digital.com/SRC/m3defn/html/refs.html) In Ada references by default are UNTRACED and could be set to TRACED to be handled by the attached (WITHed) GC. Such approach would provide compatibility with the existing Ada design and facilitate better Ada usage for general type applications (not embedded ,real-time and safety critical where unpredictable delays caused by GC are unacceptable). Regards, Vladimir Olensky