What's missing to make D2 feature complete?
bioinfornatics via Digitalmars-d
digitalmars-d at puremagic.com
Mon Dec 22 03:03:33 PST 2014
On Saturday, 20 December 2014 at 20:14:21 UTC, Ola Fosheim
Grøstad wrote:
> On Saturday, 20 December 2014 at 17:40:06 UTC, Martin Nowak
> wrote:
>> Just wondering what the general sentiment is.
>
> I think the main problem is what is there already, which
> prevents more sensible performance features from being added
> and also is at odds with ensuring correctness.
>
> By priority:
>
> 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).
+1000
I will add be consistent into phobos:
- remove all old module as std.mmfile
- put everywere @safe system trusted ...
- use everywhere as possible immutability ( const ref, in,
immutable )
- doing a smaller project with only working and non-deprecated
module
- std.stream
- consistant use of range into phobos
More information about the Digitalmars-d
mailing list