First Draft: Static Single Assignment
emmineehsam12
thomaskim0763 at gmail.com
Wed Feb 4 06:59:01 UTC 2026
On Saturday, 6 December 2025 at 18:52:38 UTC, Kapendev wrote:
> 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.
This feels like the core of the disagreement: whether final is
meant to be a narrowly scoped, pragmatic compiler check or a
first-class concept that integrates cleanly with the type system,
similar to head-const. If it’s limited to a single use case and
can’t be applied consistently across structs, classes, and
function arguments, it’s fair to question the value of adding it
at all—especially given the added complexity.
That tension between targeted safety features and systemic design
shows up in many areas too, even outside programming—like Auto
mit Motorschaden verkaufen, where partial solutions often create
more confusion unless they fit into a clear, end-to-end model
(https://auto-ankauf-24.de/ ).
More information about the dip.development
mailing list