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

Implicit contracts



    Date: Mon, 19 Sep 1983  08:50 EDT
    From: Rob MacLachlan <RAM@CMU-CS-C.ARPA>
	I think that the specification of a language by implementation as
    implied by Dyer's message is an extremely bad idea.  If it is legal to
    depend on any possible behavior of a function then it becomes
    impossible to ever change any function because someone might depend on
    a particular idiosyncratic behavior.

Precisely the problem that Interlisp has.

	It seems to me that the best approach in Common Lisp is to have
    that manual describe every important behavior of an operation, and for
    any code which depends on something not guaranteed by the manual to be
    considered erroneous.

	As far as assuring agreement with the manual, I think that the
    best solution would be to have a comprehensive validation suite, or
    lacking that, a number of large portable applications.

I am in complete agreement with this.  We should definitely have a
comprehensive validation suite.  Even one that isn't comprehensive
would be helpful.  I wrote one for the division-related functions
(/, mod, floor, etc.), but that is hardly a drop in the bucket.