On Tuesday, 16 February 2016 at 10:17:05 UTC, Jonathan M Davis
wrote:
version of D. We don't know what we're going to want to do at
that point, and if we're actually willing to break backwards
compatibility in a serious way, what D2 looks like doesn't
really matter much for D3. And we don't even know whether there
will ever be a D3. What matters to us now is what we do with D2
for making it a good language now and not what we may or may
not do with a future version of the language. Planning for D3
now would be like planning for D when working on finishing up
C++98.
This is true, in a way, but also a bit too pessimistic.
Here is a possible strategy:
1. add semantics that are desirable to D2
2. express both D2 and D3 in a single intermediate representation
3. work on a new D3 syntax that does not support deprecated
features
4. have two parsers, one for D2 and one for D3
Let compiler vendors decide whether they want to support D2 or
not.