First Draft: Static Single Assignment

Walter Bright newshound2 at digitalmars.com
Fri Dec 5 01:43:11 UTC 2025


On 12/4/2025 5:34 AM, Paul Backus wrote:
> So now we've created a situation where `typeof(x)*` and `typeof(&x)` are 
> different. Surely nobody will find that confusing. :)

Perhaps. I'm reminded of how name lookups work in D. It originally was very 
simple - the scopes were nested and lookup starts at the innermost one and 
progresses outward.

Every single person told me that was confusing. Even Andrei!

So we now have multiple phases of lookups in a difficult-to-explain and clumsy 
to implement system. And nobody complains about it, calling it "intuitive".

This is what makes computer language design a bit of a black art rather than a 
logical mathematical construction.



More information about the dip.development mailing list