Why use a DFA instead of DIP1000?

Dennis dkorpel at gmail.com
Tue Sep 16 08:50:00 UTC 2025


On Saturday, 13 September 2025 at 16:12:06 UTC, Richard (Rikki) 
Andrew Cattermole wrote:
> The fact that D is not architectured to be able to stop these 
> false positives is an intended bug in our design. Not all PL's 
> work like this the ML family certainly don't. They tie very 
> advanced analysis engines including DFA into their type system.

So the answer to my question is: this it not motivated by 
reported issues from D users, but by other languages doing this. 
If the only example for D you can give is an "unrealistic" one, 
can you please give a realistic example from another language 
then?

> Just because people don't understand that this is possible, 
> doesn't mean it hasn't been an issue. I see it as a case that 
> people don't know what they don't know. So they don't complain.
> This is a hole that the C family relies upon having due to 
> historical reasons and so hasn't reached common knowledge.

I understand DFA is an interesting research topic, and if your 
claim was that it might lead to interesting discoveries or new 
paradigms I fully agree. But when you say it's necessary to fix 
DIP1000 specifically, I need some evidence to believe it. There's 
been over 100 DIP1000-related bug reports with simple non-DFA 
solutions, and I'm skeptical that people 'don't know' to report 
DFA related issues. Several users reported issues about Value 
Range Propagation (VRP) not working across statements. Even when 
they don't explicitly know DFA, they still experience a problem 
and can intuit a solution being available.



More information about the Digitalmars-d mailing list