diff --git a/Roadmap.md b/Roadmap.md index 4ee69b6..084f481 100644 --- a/Roadmap.md +++ b/Roadmap.md @@ -6,54 +6,42 @@ Notes + + Implement static[T] properly + for version 1.0 + The implementation has lots of issues, but what's worse the spec is not nearly clear enough and seems to conflate 2 different ideas. + + + + Support overloading of the assignment operator + for version 1.0 + like fields and destructors an assignment operator needs to be lifted + + Automatic dereference in more contexts - cancelled - important to be able to write more generic containers easily - - - - Comment handling is weird - implemented for 0.10.0 - comments should be optional and not part of the grammar, unless it is a documentation comment - - - - The new concurrency model - implemented for 0.10.0 - this requires frontend and backend changes, but no changes to the runtime/GC + might make into 1.0 + important to be able to write more generic containers easily; current plan is rewrite a.f() to f(a[]) but not in further contexts asFunc pragma - 0.9.8 + After 1.0 provides a nice bridge from 'var T' to 'returns T'; can be entirely implemented as a macro with the upcoming types API Extended macros API - 0.9.8 + after 1.0 missing: an API for working with types; the builtin getImpl Pragmas are not supported for 'bindSym' - 0.9.8 + after 1.0 this makes clean macros impossible to write when it comes to pragmas - - Support overloading of the assignment operator - 0.9.8 - like fields and destructors an assignment operator needs to be lifted - - - - Type checking for tuples - 0.9.8 - needs to be refined. Recursive tuples should be forbidden. - - Alias analysis needs to specified and controllable with pragmas after 1.0 @@ -63,7 +51,7 @@ Destructors need to interact with finalizers after 1.0 - destructors and finalizers are implemented, but do not interact. new which takes a finalizer needs to be deprecated. People should use a destructor instead + destructors and finalizers are implemented, but do not interact. new which takes a finalizer needs to be deprecated. People should use a destructor instead. However, destructors should ultimately depend on an escape analysis. @@ -128,7 +116,7 @@ Deterministic code generation - 0.9.8 + after 1.0 deterministic code generation makes C code caching much more effective @@ -151,7 +139,7 @@ Pure RC'ing GC - after 1.0 + unknown important for better interoperability with Objective-C