Walter Bright Wrote: > Jason House wrote: > > Walter Bright Wrote: > > > >> If there's more I can do to make this work, I would like to know > >> what that is. > > > > I know D does not burden itself with backwards compatibility, > > That's not quite correct. I have strongly resisted any changes to D2 > that would *silently* break programs. The breaking changes elicit clear > messages from the compiler. > > > but the > > lack of compatibility has to affect many D projects. There are many > > D1-only projects that can't be used within D2. When D3 is started, > > will we have even more incompatible choices? I have no solution to > > this issue, but it deserves some thought. > > > > In the past, I proposed the idea of forward compatibility which would > > allow a D1 compiler to ignore D2-specific keywords and other minor > > semantic differences such as invariant()... The idea wasn't 100% > > compatibility, but rather to allow writing a reasonable subset of D2 > > that could compile in D1. Maybe a 3rd party tool to do the > > translation is enough? > > The problem is that creates a third language. >
Please don't let the "forward compatibility" proposal overshadow the other part of my post. Compatibility between D1, D2 (and D3) can be a serious problem for library writers. I have no good solution for it. In some ways, this is at the heart of some divisions in the D community. There are 3 mainstream dialects of D, and they don't interoperate.
