Void-safety (and related things)

Michiel Helvensteijn m.helvensteijn.remove at gmail.com
Tue Aug 11 13:26:41 PDT 2009


Ary Borenszweig wrote:

>> I doubt it's the direction D wants to go. Because proving correctness at
>> compile-time requires the holy grail, and testing correctness at runtime
>> requires extra space for each variable and extra time for each access.
> 
> What do you mean by "holy grail"?

You missed that discussion, did you? Basically, if you want to know at
compile-time whether a variable is initialized, there are several
possibilities:

* Be overly conservative: Make sure every possible computational path has an
assignment to the variable, otherwise give an error. This would throw out
the baby with the bathwater. Many valid programs would cause an error.

* Actually analyze the control flow: Make sure that exactly all reachable
states have the variable initialized, otherwise give an error. Dubbed "holy
grail", because this sort of analysis is still some time off, and would
allow some very cool correctness verification.

-- 
Michiel Helvensteijn




More information about the Digitalmars-d mailing list