What's missing to make D2 feature complete?

bearophile via Digitalmars-d digitalmars-d at puremagic.com
Sun Dec 21 01:34:32 PST 2014


Ola Fosheim Grøstad:

> 1. A well thought out ownership system to replace GC with 
> compiler protocols/mechanisms that makes good static analysis 
> possible and pointers alias free.  It should be designed before 
> "scope" is added and a GC-free runtime should be available.
>
> 2. Redesign features and libraries to better support AVX 
> auto-vectorization as well as explicit AVX programming.
>
> 3. Streamlined syntax.
>
> 4. Fast compiler-generated allocators with pre-initialization 
> for class instancing (get rid off emplace). Profiling based.
>
> 5. Monotonic integers (get rid of modular arithmetics) with 
> range constraints.
>
> 6. Constraints/logic based programming for templates
>
> 7. Either explict virtual or de-virtualizing class functions 
> (whole program optimization).
>
> 8. Clean up the function signatures: ref, in, out, inout and 
> get rid of call-by-name lazy which has been known to be a bug 
> inducing feature since Algol60. There is a reason for why other 
> languages avoid it.
>
> 9. Local precise GC with explicit collection for catching 
> cycles in graph data-structures.
>
> 10. An alternative to try-catch exceptions that enforce 
> error-checking without a performance penalty. E.g. separate 
> error tracking on returns or "transaction style" exceptions 
> (jump to root and free all resources on failure).

This sounds more ambitious than the hypothetical D3 language :-)

Modular arithmetics is handy, when you want it.

I don't understand enough some of your points, so you should 
popularize better your ideas :-)

Bye,
bearophile


More information about the Digitalmars-d mailing list