[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

# Error Terminology

re: \item{\bull} No valid program may depend on the effects of this
situation, and all valid programs are required to treat the effects
of this situation as unpredictable.

Granting the complaint about "must not extend" being an un-enforceable
clause, then I think this substitute for it is also un-enforceable (i.e.
how can you determine whether a program treats some result as unpredictable).

But the example you have found is brilliant; it cleary shows that the
design cannot be silent about the situations you call D'4.  That seems to
be precisely the bug in CLtL -- that silence in this situation implicitly
means "is an error", which for other reasons was defined to cover the
"extensible" case too.

Actually, I didn't think the original wording was all that bad -- "an
implementation must not extend ...".   Maybe what was bad about it was
that it wasn't identified as a "designer's note" or "implementation
note".

-- JonL --