clear() and UFCS
Steven Schveighoffer
schveiguy at yahoo.com
Fri May 25 08:42:14 PDT 2012
On Fri, 25 May 2012 11:37:52 -0400, Steven Schveighoffer
<schveiguy at yahoo.com> wrote:
> On Fri, 25 May 2012 11:28:07 -0400, Alex Rønne Petersen <alex at lycus.org>
> wrote:
>
>> On 25-05-2012 17:23, Steven Schveighoffer wrote:
>>> On Fri, 25 May 2012 11:03:33 -0400, Alex Rønne Petersen
>>> <alex at lycus..org> wrote:
>>>
>>>> On 25-05-2012 16:56, Steven Schveighoffer wrote:
>>>>>
>>>>> Wow, you're right, it's not documented. That should be fixed!
>>>>
>>>> Before we do, we should deprecate clear and rename it to finalize,
>>>> though.
>>>
>>> I don't like finalize because it's not a finalizer.
>>>
>>> I think we should mimic other languages that have a finalizer and a
>>> deterministic dispose function.
>>>
>>> -Steve
>>
>> But it calls rt_finalize...?
>
> Yeah, because non-deterministic destruction is part of deterministic
> destruction.
>
> finalize -> destroy non-gc resources
> dispose -> 1. do deterministic destruction involving possible GC
> resources 2. call finalize.
>
> e.g. a buffered file:
>
> finalize -> close the file handle
> dispose -> flush the GC allocated buffer into the handle, then close the
> handle
I take it back, dispose is no good. That should be the name of the
deterministic destructor in the object.
Now I don't have a good name. Finalize isn't right, and neither is
dispose...
-Steve
More information about the Digitalmars-d
mailing list