3 ms·
Relevant to recent discussions, even if it was published in 2017. It is quite more elaborate than other publications I’ve seen mentioned in those discussions.
by AlbertoGP 6y ago
Relevant to recent discussions, even if it was published in 2017.
It is quite more elaborate than other publications I’ve seen mentioned in those discussions.
I’ll quote section 6.2, “What is Safety Anyway?”:
> I have learned to enjoy provoking indignant incredulity by claiming that C can be implemented safely. It usually transpires that the audience have so strongly associated “safe” with “not like C” that certain knots need careful unpicking.
> In fact, the very “unsafety” of C is based on an unfortunate conflation of the language itself with how it is implemented.
> Working from first principles, it is not hard to imagine a safe C. As Krishnamurthi and Felleisen [1999] elaborated, safety is about catching errors immediately and cleanly rather than gradually and corruptingly. Ungar et al. [2005] echoed this by defining a safety property as “the behavior of any program, correct or not, can be easily understood in terms of the source-level language semantics”—that is, with a clean error report, not the arbitrary continuation of execution after the point of the error.