RFC: reference counted Throwable

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Fri Sep 19 21:47:00 PDT 2014


On 9/19/14, 7:26 PM, Walter Bright wrote:
> On 9/19/2014 7:04 PM, Vladimir Panteleev wrote:
>> On Saturday, 20 September 2014 at 01:19:05 UTC, Walter Bright wrote:
>>> Having a compiler switch to change the behavior of every module in
>>> incompatible ways would be a disastrous balkanization.
>>
>> Don't -version, -debug etc. have this problem anyway?
>
> I submit that it is a poor practice to write code that way.
>
>
>> Anyway, if you change the name mangling, then you'll get link errors
>> instead of
>> mysterious crashes.
>>
>>> It has to be done in such a way that the ARC and the existing
>>> exceptions can
>>> coexist.
>>
>> How?
>
> Good question. It's a challenge. But it has to be done, or D will divide
> in half and both halves will fail.

I don't think there will be division, and I don't think the parts will 
fail. I see it as enrichment.

We've said for years that D is usable without a GC. The time has come to 
make that into reality. To the extent it's automatic, we'll make it 
automatic. To the extent we'll require adjustment in use, we'll ask 
users to adjust use. The worst thing about that is to enter the design 
with a prejudice tied to our ankles.

> We've had this discussion numerous times before - "throw the magic
> compiler switch" and D becomes an ARC system and everything is
> wonderful. It cannot work. ARC and GC are not equivalent.

I think past discussions have been inconclusive at best and must be 
reopened.


Andrei



More information about the Digitalmars-d mailing list