Some minor disagreements:

On Tuesday, 8 July 2014 at 21:22:31 UTC, Walter Bright wrote:
2. Unique References

unique_ptr<T> is another big success for C++. 2.066 has already made big strides in inferring uniqueness of expressions, but it doesn't go so far as creating a Unique!T type.

http://dlang.org/phobos/std_typecons.html#.Unique

3. 'ref' means 'borrowed', to use Rust's terminology

We're almost there with this. This means better escape analysis, too.

Last time we talked about it during dconf you have mentioned doing necessary escape analysis for borrowing semantics is too complicated to consider :) Ad if you don't mean transitive, you shouldn't refer to Rust borrowing terminology as any ownership type is normally transitive there.

5. Precise and Concurrent GC

There's been a lot of work on this, but I don't know where we stand on it.

I have started work on porting the CDGC to D2, have compilable version (that was easy thanks to earlier Sean work) but updating implementation to match new druntime and pass tests will take quite some time.

7. "D-Routines" - goroutines for D

Goroutines are the killer feature of Go for a number of sensible people. We pretty much have this already with fibers, but what is lacking is a scheduler, which will take some effort, and a "Channel" type, which should be easy.

I'd state it differently: "Marketing fuss about goroutines is the killer feature of Go" :) It does not have any fundamental advantage over existing actor model and I doubt it will matter _that_ much.

8. NotNull!T type

For those that want a non-nullable reference type. This should be doable as a library type.

I don't know where it comes from but non-nullable reference type has ZERO value if it is not the default one.

Reply via email to