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

Issue: DECLARE-TYPE-FREE (Version 8)



Please retract this Issue from X3j13 now.  You (Larry) substantially
reworked it during the past few days, and provided no opportunity for
review by the principals who originated the proposal.

In particular, if I read Kent's commentary right, from the msg:
    Date: Wed, 19 Oct 88 15:42 EDT
    From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
    Subject: Issue: DECLARE-TYPE-FREE (Version 6)
then his intent, along with that of Moon and myself (who also worked
on this proposal), is diametrically opposite of what you now have it
to be.

In particular, your explanation:
    ;; this is an error:
    ;; the assertion that x is a fixnum is violated between the two 
    ;; calls to (zap)
	    (let ((x 12) (y 'foo))
	      (flet ((zap () (rotatef x y)))
		(locally (declare (fixnum x))
		  (zap)
		  (zap)
		  x)))
was explained as exactly the opposite by Kent on 19-Oct-88; and the rest 
of us have always agreed that "free" type declarations need not be
consistent with "specialized storage" -- that they are merely equivalent
to wrapping (THE <type> ...) around lexical occurances of the variable.
It this point is debateable, it should have been debated in subcommittee
before "release" of the issue.


-- JonL --