Smart pointers instead of GC?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Feb 2 08:55:31 PST 2014


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



More information about the Digitalmars-d mailing list