http://wiki.dlang.org/DIP25

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sat Jan 3 00:41:44 PST 2015


On 1/2/2015 9:27 PM, Manu via Digitalmars-d wrote:
> I feel like your resistance of comprehensive scope is some part
> emotional, some part anecdotal... but little or not parts
> experimentally based.
> You appear to 'fear' what it would do... and maybe you have the
> experience to judge that better than me, but I just can't see it!

Hardly anyone understood DIP69, and that one is very simple compared to a 
comprehensive ownership system.


>> Because of the viral nature of it, you cannot avoid it. It's like trying to
>> avoid using const.
> scope isn't like const though, it's a different thing. I think you're
> just trying to incite FUD with that particular comparison.
> It doesn't inhibit interoperation of data the same way as const does.
> It only inhibits interoperation in the case of escaping local data to
> the outside world.

That's a lot of handwaving.


> Cases where we currently allow that (because the tech we have is
> insufficient to detect the cases) are probably bugs. They violate D's
> safety guarantees, and that's a core commitment of D.
> I don't think we can ever really make good on the @safe commitment
> without scope/lifetime. So from that perspective, we either need to
> take scope seriously, or stop advertising that we take safety
> seriously.

DIP25 and 69 make it safe.


> We're already there though. And to resist one more with very
> significant importance is drawing an arbitrary line.

Propose a design. I suggest, though, that if it was half as easy as you say, it 
would already exist in multiple languages. It's not like nobody thought of it 
before.


"Maybe some track lighting will help!"

   -- https://www.youtube.com/watch?feature=player_detailpage&v=P9FHlhWqbus#t=17



More information about the Digitalmars-d mailing list