On 2/22/2015 9:53 PM, Manu via Digitalmars-d wrote:
It's got nothing to do with doing work. ARC (or something like it) is
almost religiously opposed. We can't even have a reasonable
conversation about it, or really explore it's implications before
someone (that ideally know's what they're doing) thinks about writing
code.

I participated in a very technical thread here on implementing ARC in D. I wanted to make it work - nothing was off the table, language changes, special features, etc.

http://www.digitalmars.com/d/archives/digitalmars/D/draft_proposal_for_ref_counting_in_D_211885.html

It was just unworkable, and nobody who participated in that thread had workable ideas on moving forward with it. Nothing since has come up that changes that. If you've got some ideas, please present them taking into account the issues brought up in that thread.

Also, please take into account; proposals will not get much of a reception if they ignore these points:

1. Increment and decrement, ESPECIALLY DECREMENT, is EXPENSIVE in time and bloat because of exceptions. Swift does it by NOT HAVING EXCEPTIONS. This is not an option for D.

2. As far as I can tell, the idea of flipping a compiler switch and the GC switches to ref counting is a pipe dream fantasy. You can probably make such a scheme work with a very limited language like Javascript, but it is never going to work with D's support for low level programming. The way RC and GC work is different enough that different user coding techniques will be used for them.

3. Memory safety is a requirement for any ARC proposal for D. Swift ignores memory safety concerns.

4. DIP25, now implemented, is a way to address memory safety in D while using reference counting. Any proposal for ARC needs to, at least, understand that proposal.

http://wiki.dlang.org/DIP25

Reply via email to