comp.lang.ada
 help / color / mirror / Atom feed
* newbie Q: storage management
@ 1997-04-29  0:00 Kaz Kylheku
  1997-04-30  0:00 ` Jon S Anthony
                   ` (4 more replies)
  0 siblings, 5 replies; 68+ messages in thread
From: Kaz Kylheku @ 1997-04-29  0:00 UTC (permalink / raw)



I've looked at the ISO standard and the relevant FAQ's and tutorials, but I
still need some discussion or clarification about the management of objects
obtained via ``new'', because what I have read so far seemed rather vague in
one respect.

Whose responsibility is it to destroy these objects? The Ada 95 standard
says that an implementation is permitted to implement garbage collection,
but not required to do so.

I know that it is possible to instantiate a generic freeing function for
explicitly destroying objects. But why is there is this lack of symmetry in the
language?  On the one hand, you have a slick ``new''-expression to create
objects, but the complementary deletion operation is totally obscured. Does
this mean that explicit freeing of objects via an instance of
Unchecked_Deallocation is discouraged (due to the potential creation of
dangling references)? Is it the reponsibility of the language implementation to
automagically detect when an object is no longer reachable and do the
appropriate deallocation, even if garbage is not collected?




^ permalink raw reply	[flat|nested] 68+ messages in thread
* Re: newbie Q: storage management
@ 1997-05-08  0:00 Jon S Anthony
  1997-05-09  0:00 ` Robert Dewar
  1997-05-10  0:00 ` Fergus Henderson
  0 siblings, 2 replies; 68+ messages in thread
From: Jon S Anthony @ 1997-05-08  0:00 UTC (permalink / raw)




Robert sez:

> I would not talk about straw-man implementations, I would talk about
> real usable implementations. It is much more important that
> something be real and usable, than it is that it be in the
> standard.

Agreed.  This has never been in question, IMO.


> If someone did a nice GC implementation for GNAT, and people started
> using it, then a lot of the problem is solved.

False.  You can pretty much get something like this now using a bolt
on fully conservative collector.  As you note, portability between
compilers is a significant part of the problem.  As I've noted before,
this alone would make the above scenario irrelevant for us (and we're
someone who really wants GC!)  But that is not all.  There are support
issues, synchronization issues with GNAT releases, platform
portability issues, etc.  At the moment, wrt GNAT, the only plausible
way for these issues to be sorted out would be if the "someone"
mentioned above turned out to be ACT.


/Jon

-- 
Jon Anthony
Organon Motives, Inc.
Belmont, MA 02178
617.484.3383
jsa@organon.com





^ permalink raw reply	[flat|nested] 68+ messages in thread

end of thread, other threads:[~1997-05-13  0:00 UTC | newest]

Thread overview: 68+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-04-29  0:00 newbie Q: storage management Kaz Kylheku
1997-04-30  0:00 ` Jon S Anthony
1997-05-02  0:00   ` Robert Dewar
1997-05-04  0:00     ` Kaz Kylheku
1997-05-04  0:00       ` Robert Dewar
1997-04-30  0:00 ` Marinus van der Lugt
1997-04-30  0:00   ` Jon S Anthony
1997-05-02  0:00     ` Robert Dewar
1997-04-30  0:00 ` Robert I. Eachus
1997-04-30  0:00 ` Samuel A. Mize
1997-04-30  0:00   ` kaz
1997-04-30  0:00   ` Jon S Anthony
1997-05-02  0:00     ` Samuel A. Mize
1997-05-02  0:00       ` Jon S Anthony
1997-05-03  0:00       ` Robert Dewar
1997-05-05  0:00         ` Samuel A. Mize
1997-05-06  0:00           ` Robert Dewar
1997-05-06  0:00             ` Robert A Duff
1997-05-08  0:00               ` Jon S Anthony
1997-05-08  0:00                 ` John G. Volan
1997-05-09  0:00                   ` Jon S Anthony
1997-05-09  0:00                     ` John G. Volan
1997-05-13  0:00                       ` Jon S Anthony
1997-05-13  0:00                         ` Robert Dewar
1997-05-09  0:00                 ` Robert Dewar
1997-05-13  0:00                   ` Jon S Anthony
1997-05-09  0:00                 ` Robert A Duff
1997-05-09  0:00                   ` Jon S Anthony
1997-05-10  0:00                     ` Robert A Duff
1997-05-12  0:00                       ` Jon S Anthony
1997-05-09  0:00                   ` Brian Rogoff
1997-05-10  0:00                     ` Robert A Duff
1997-05-10  0:00                   ` Robert Dewar
1997-05-06  0:00           ` Michael F Brenner
1997-05-06  0:00             ` Assuaging sour grapes :-) [was: newbie Q: storage management] John G. Volan
1997-05-07  0:00               ` Stephen Posey
1997-05-07  0:00               ` Kevin Cline
1997-05-07  0:00                 ` John G. Volan
1997-05-07  0:00                   ` John G. Volan
1997-05-07  0:00                     ` Robert Dewar
1997-05-08  0:00                   ` Jon S Anthony
1997-05-08  0:00                 ` Jon S Anthony
1997-05-08  0:00               ` Dynamic binding of packages Nick Roberts
1997-05-08  0:00                 ` John G. Volan
1997-05-07  0:00             ` newbie Q: storage management Robert Dewar
1997-05-09  0:00               ` Robert I. Eachus
1997-05-10  0:00                 ` Robert Dewar
1997-05-07  0:00             ` Jeff Carter
1997-05-03  0:00       ` Robert Dewar
1997-05-03  0:00         ` Jon S Anthony
1997-05-04  0:00           ` Robert Dewar
1997-05-05  0:00         ` Samuel A. Mize
1997-05-04  0:00       ` Kevin Cline
1997-05-04  0:00         ` Robert Dewar
1997-05-02  0:00   ` Samuel A. Mize
1997-05-04  0:00     ` Robert Dewar
1997-05-02  0:00 ` Nick Roberts
1997-05-03  0:00   ` Robert Dewar
  -- strict thread matches above, loose matches on Subject: below --
1997-05-08  0:00 Jon S Anthony
1997-05-09  0:00 ` Robert Dewar
1997-05-09  0:00   ` Robert A Duff
1997-05-10  0:00     ` Fergus Henderson
1997-05-10  0:00       ` Robert A Duff
1997-05-12  0:00       ` Jon S Anthony
1997-05-13  0:00         ` Robert Dewar
1997-05-10  0:00 ` Fergus Henderson
1997-05-10  0:00   ` Robert Dewar
1997-05-13  0:00   ` Jon S Anthony

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox