First Draft: Static Single Assignment

Kapendev alexandroskapretsos at gmail.com
Sat Dec 6 18:52:38 UTC 2025


On Friday, 5 December 2025 at 22:50:49 UTC, Peter C wrote:
> On Friday, 5 December 2025 at 12:20:29 UTC, monkyyy wrote:
>> On Saturday, 15 November 2025 at 07:13:13 UTC, Walter Bright 
>> wrote:
>>> https://www.digitalmars.com/d/archives/digitalmars/dip/ideas/Single_Assignment_1765.html
>>
>> if its not going to be part of the type system it shouldnt 
>> exist; your pandering to safetyphiles with a tool they wont 
>> use, like @live, so you can talk about it on hakernews, like 
>> @live.
>>
>> Hakernews driven development may not be sound design process.
>>
>> I suggest asking for a template wizard to handle whatever your 
>> compiler dev usecase with a uda hack. Everyone else uses 
>> smaller functions with less goto's when they get confused.
>
> Not every safety feature has to be a deep type-system 
> construct. Some are useful simply as pragmatic 
> compiler-enforced checks that improve clarity and reduce bugs.
>
> If final can ensure a variable is assigned only once - helping 
> prevent subtle reassignment bugs without complex changes to the 
> type machinery - then it's worth investigating. And that, as I 
> understand it, is exactly what's happening here.
>
> I'd also note that dismissive, personally insulting, and 
> confrontational comments don't add much to the discussion. It 
> would be more helpful to focus on building a clear technical 
> critique that moves the conversation forward.

It's impossible to focus when you don't say what you believe with 
your own words. Monkeyyyyy has a point. If a language feature is 
just used for one tiny specific case, then why add it in the 
first place? I might change my mind later if I read every message 
in this forum post.
For `final` to be useful and worth the change, it should work 
like head const in my opinion and be usable inside structs, 
classes and function arguments.


More information about the dip.development mailing list