If there was a majority in favour of D3, with breaking changes, and a strong focus on meta-programming, then it would make a lot of sense to streamline the language.
What would that consist of? I would say:
-
Figuring out what the missing bits for meta-programming are.
-
Taking out all language constructs that can be implemented as a library feature.
-
Add some syntactical sugar where necessary (mapping to library features).
Which features that are currently in the language could with some adjustments be done as a library feature?
Hashtable?
Dynamic array?
Slices?
Shared?
Class?
Others language features…?
(I think all these could be done if meta-programming facilities were strengthened.)
What do you think?