Transitions to new language semantics

Ola Fosheim Grøstad ola.fosheim.grostad at gmail.com
Fri Jun 11 11:27:03 UTC 2021


On Friday, 11 June 2021 at 07:36:47 UTC, Sönke Ludwig wrote:
> This is something that should have been discussed already, but 
> I can't remember whether that was actually the case, and it 
> always bothers me every time there is friction with new DIP 
> switches.
>
> Right now, new language semantics are introduced using 
> `-preview` and `-revert` switches, which unfortunately has a 
> massive drawback:

I am troubled in general by the implementation of incomplete 
solutions and making them gradually available.

I would find it much more reassuring if a comprehensive solution 
was developed as a completely separate compiler branch. Basically 
have a stable branch (as is), and then a future branch that is 
considered unstable until all the corner cases have been ironed 
out. This also allows more heavy restructuring of compiler 
internals, like introducing an appropriate IR (which is needed 
for things like borrowing or ARC, if you want something solid).

The cost of moving to a more complete solution after something 
incomplete has been made official could break the camel's back.

The piece-by-piece approach is a slippery slope.




More information about the Digitalmars-d mailing list