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