Opportunities for D

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Wed Jul 9 12:47:01 PDT 2014


On 7/9/2014 3:20 AM, Dicebot wrote:
> 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.

Yes, I mean transitive, and understand what that implies.


>> 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.

Is CDGC's Luca's earlier work on concurrent GC?


>> 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.

Much of the froth about Go is dismissed by serious developers, but they nailed 
the goroutine thing. It's Go's killer feature.



>> 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.

Making it the default is impossible for D. However,

   class _C { ... }
   alias NotNull!_C C;

is entirely practical. It's not unlike the common C practice:

   typedef struct S { ... } S;

to bring S out of the tag name space.



More information about the Digitalmars-d mailing list