Wed, 14 Oct 1998 18:20:38 -0400
|
At 07:06 PM 10/14/98 +0200, Mats Weber wrote:
>Robert I. Eachus wrote:
>> Just for completeness, Ada does have required garbage collection, but
>> only for a few specific types. See A.4.5(88) for Ada.Strings.Unbounded.
>> (It is not possible to implement this type and the corresponding wide type
>> without garbage collection, although it can be done with reference
>> counting, and without compaction.)
>Well, GNAT does it the natural way, using Ada.Finalization.Controlled,
without
>garbage collection (or are we disagreeing on the definition of GC ?). Are you
>saying their implementation is broken ?
Could be that we are disagreeing on the definition of GC.
Ada.Finalization.Controlled allows you to do perfect garbage collect--it is
never the case that there are controlled objects in the heap that can't be
reached. But as I said, it doesn't allow you to do compaction easily. If
your definition of GC requires that the process take unbounded time and
leave the heap unfragmented, then it isn't mine. If you think that garbage
collection means that the user of a type does not have to worry about
storage leaks, then we have the same definition.
Robert I. Eachus
with Standard_Disclaimer;
use Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...
|
|
|