First Draft: Static Single Assignment

Peter C peterc at gmail.com
Fri Nov 21 22:58:26 UTC 2025


On Friday, 21 November 2025 at 18:49:32 UTC, Walter Bright wrote:
> `final` is better anyway.

not to me it isn't:

final class Base
{
     final void printInfo() {}
     final Base finalFieldRef;
}

The use of 'final' for SAA will always invite a semantic 
collision here, requiring the programmer to constantly pause, 
recall the specific rules here with regards to the use of 'final' 
- based on its context, thus slowing down comprehension and 
introducing the risk of misinterpreting the codes contract - and 
readers include us code reviewers!

What is needed here, is a dedicated, non-colliding (contexual) 
keyword - not a convenient compiler hack.



More information about the dip.development mailing list