Smart pointers instead of GC?

Frustrated c1514843 at drdrb.com
Sun Feb 2 09:10:28 PST 2014


On Sunday, 2 February 2014 at 16:55:35 UTC, Andrei Alexandrescu
wrote:
> On 2/2/14, 3:23 AM, JR wrote:
>> On Sunday, 2 February 2014 at 05:30:02 UTC, Andrei 
>> Alexandrescu wrote:
>>> On 2/1/14, 8:18 PM, Frank Bauer wrote:
>>>> On Sunday, 2 February 2014 at 03:38:03 UTC, Andrei 
>>>> Alexandrescu wrote:
>>>>> Whoa, this won't work without an explosion in language 
>>>>> complexity.
>>>>>
>>>>> Andrei
>>>>
>>>> Only daydreaming ...
>>>
>>> No, it's a nightmare.
>>>
>>> Andrei
>>
>> So, going forward, what would you say is the preferred 
>> direction to
>> strive toward?
>>
>> I *seem* to remember reading here that you and Walter were 
>> increasingly
>> growing to favor ARC, but I can't find the post. (Memory 
>> bitrot on my
>> part is more than likely.)
>
> I think of the following foci for the first half of 2014:
>
> 1. Add @nullable and provide a -nullable compiler flag to 
> verify it. The attribute is inferred locally and for white-box 
> functions (lambdas, templates), and required as annotation 
> otherwise. References not annotated with @nullable are 
> statically enforced to never be null.
>
> 2. Work on Phobos to see what can be done about avoiding 
> unnecessary allocation. Most likely we'll need to also add a 
> @nogc flag.
>
> 3. Work on adding tracing capabilities to allocators and see 
> how to integrate them with the language and Phobos.
>
> 4. Work on the core language and druntime to see how to 
> seamlessly accommodate alternate GC mechanisms such as 
> reference counting.
>
>
> Andrei

Sounds like a step in the right direction. By having the nogc,
phobos could be progressively converted and one can verify when
modules, functions, and aggregates are gc dependent.



More information about the Digitalmars-d mailing list