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

Re: Proposal #1



The expressions of doubt that Scott alluded to in his message is
summarized as follows. There are two situations: before there is an
error system that defines what "signals an error" means, and after. In
one, the distinction between class #2 and class #3 is moot. In the
other, the distinction violates an important principle of Common Lisp
declarations, namely, that they do not affect the results of correct
programs.

Until there is a standard for what "signals an error" means, 

	1) There is no semantic difference between "signals an error"
	and "is an error" other than the general exhortation to
	implementors to try to signal all "is an error" situations.  

	2) Implementors are already encouraged to signal errors
	in all "is an error" situation, and, presumably, SAFETY
	declarations might 	well have some effect on it.


In this situation, the distinction between class #2 and class #3 errors
is moot.

After there is an error system which defines what "signals an error"
means,

	1) "signals an error" has program language semantics, and
	2) "correct" programs can rely on "signals an error" to
	  catch the error and process it in some standard way, and
	3) declarations about safety shouldn't affect the operation
	   of correct programs.

In this situation, any error in class #2 would violate principle (3).