On 2014-12-11 07:03:58 +0000, Shammah Chancellor said:

On 2014-12-04 09:24:13 +0000, Walter Bright said:

http://wiki.dlang.org/DIP69

Despite its length, this is a fairly simple proposal. It adds the missing semantics for the 'scope' storage class in order to make it possible to pass a reference to a function without it being possible for it to escape.

This, among other things, makes a ref counting type practical. It also makes it more practical to use other storage allocation schemes than garbage collection.

It does not make scope into a type constructor, nor a general type-annotation system.

It does not provide an ownership system, though it would complement one.

I like the basics of the proposal and I think it's the right direction. HOWEVER, I strongly believe that function arguments should be scoped by default and `impure` when they take reference which they will keep.

-Shammah

Also, more feedback. I would suggest that scope variable are the default inside of functions as well as parameters. Using escape analysis, instead of them being errors, make them warnings and implicitly make them impure.

-Shammah

Reply via email to