Re: non-reportable errors
On Wed, 23 Oct 1996 17:10:52 -0400 <firstname.lastname@example.org> said:
>> I haven't gotten a rise out of anyone with this, but I will make a last
>> try. Several people have told me off-list that the reason for
>> non-reportable errors is so people who don't care about SGML compatibility
>> need not implement it.
>It seems to me that from a CS point of view, a non-reportable error
>sounds like an error in the specification! If you mean `it is optional
>that an XML application detect this as an error', say that.
Does this mean that a condition which (a) is certainly unintended
except in cases of deliberate sabotage, (b) will likely or possibly
produce erroneous results, or (c) however else you wish to say
'mistaken, wrong, bad, glitch, snafu, ...' but which cannot reliably
be detected by software, or which can be detected only at great cost,
cannot be described as an error?
In C, is it an 'error' or only a situation with 'undefined results'
when I allocate memory, free it, and then try to write to it with a
pointer that wasn't updated? I don't think this is reliably
detectable, and the C standard certainly doesn't require compilers or
runtime systems to detect it. But it's clearly an error in my book.
It certainly isn't correct!
My proficiency in English has limits, like anyone's, but to me
'error' means 'something wrong'. It has nothing to do with whether
the something wrong can be reliably detected. Conforming processors
should be required to report any error they can reasonably be
expected to detect (unless of course they die immediately -- does
sudden death count as an error message?) So I'd like to call it
an error when (for example) a document declares List as containing
(head?, item+) and the instance has a list with two Head elements.
This is an error, but I do *not* want all XML parsers to be required
to read the DTD and validate the document against its content models.
It is (or, I think, should be) an error if a metadata header says
that a data stream is ISO 8859-1 when in fact it's ISO 8859-2.
A MIME processor cannot reasonably be expected to detect such an
error; does that mean it's not going to lead to erroneous results?
If most readers share the notion that something becomes non-erroneous
by virtue of being not reliably or cheaply detectable, then certainly
a term other than 'error' must be found. I hope never to fly in an
airplane designed on that principle, though.
-C. M. Sperberg-McQueen