Opportunities for D

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 9 03:20:47 PDT 2014


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.


More information about the Digitalmars-d mailing list