On Tuesday, 4 February 2014 at 02:57:00 UTC, Andrei Alexandrescu wrote:
On 2/3/14, 5:36 PM, Adam Wilson wrote:
You still haven't dealt with the cyclic reference problem in ARC. There is absolutely no way ARC can handle that without programmer input, therefore, it is simply not possible to switch D to ARC without adding some language support to deal with cyclic-refs. Ergo, it is simply not possible to seamlessly switch D to ARC without creating all kinds of havoc as people now how memory leaks where they didn't before. In order to support ARC the D language will necessarily have to grow/change to accommodate it. Apple devs constantly have trouble with cyclic-refs to
this day.

The stock response: weak pointers. But I think the best solution is to allow some form of automatic reference counting backed up by the GC, which will lift cycles.

Andrei

This is the approach taken by Cedar on the Mesa system.

"On Adding Garbage Collection and
Runtime Types to a Strongly-Typed,
Statically-Checked, Concurrent Language"

http://www.textfiles.com/bitsavers/pdf/xerox/parc/techReports/CSL-84-7_On_Adding_Garbage_Collection_and_Runtime_Types_to_a_Strongly-Typed_Statically-Checked_Concurrent_Language.pdf

--
Paulo

Reply via email to