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