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

Error Terminology



RPG writes:

	   ``\item{\bull} The type of a slot will always be {\tt (and}
	   $T\sub 1$ $\ldots$ $T\sub n${\tt )} where $T\sub 1 \ldots T\sub
	   n$ are the values of the {\bf :type} slot options contained in
	   all of the slot specifiers.  If no slot specifier contains the
	   {\bf :type} slot option, the type of the slot will always be
	   {\bf t}.  No implementation is required to check that the value
	   stored in a slot satisfies the type of the slot, but
	   implementations are allowed to extend the \OS\ to check such
	   values and to use the type of a slot during compilation.''

Actually, the part about compilation is intended to imply that an a slot
may be implemented in a type-specific manner, but maybe using the term
``compilation'' might confuse people whose implementations don't have
compilers.

	   No implementation is required to check that the value
	   stored in a slot satisfies the type of the slot, but
	   implementations are allowed to extend the \OS\ to check such
	   values, to use the type of a slot to determine its representation,
	   and to use the type of a slot during compilation.

The distinction I was trying to get at with the new formulation is to
separate the type of a slot from the uses of the type of a slot.  The
original stated that meaning of the type of a slot was that the contents
of a slot would always be of the type determined by the inherited slot
type. This leads to the embarassing explanation that the contents don't
have to obey this constraint. We wouldn't have to make the embarassing
explanation if we defined what the type of a slot was without referring to
the contents of the slot and left it as an extension that an
implementation could use the type in various ways.

The source of the embarassment is that we say that the meaning of the type
of a slot is that the contents of the slot will always be of that type,
except when it isn't. It struck me as being better to say that the type of
a slot is computed in some manner and that implementations could respect
that type if they wish, which is a less bizarre formulation.

I suppose there is nothing wrong with the original.

			-rpg-