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

Re: Proposal about lambda-list params



	Date: Mon, 28 Jul 86 21:58 EDT
	From: David A. Moon 

	    Date: 23 Jul 1986 23:55-EDT
	    From: NGALL@G.BBN.COM

	    The following thought just struck me.  If we change CL to outlaw
	    things like (lambda (x x ...)...), then people who have been
writing
	    code like (lambda (ignore x ignore) (declare (ignore ignore))...)
	    may be upset when their code breaks.

	Since it "is an error", not "signals an error", those people are free
to
	criticize their compiler for wasting their time with worthless warnings
	if it warns about this.  It seems clear enough that warning about
duplicate
	parameter names when the parameters are explicitly ignored does no one
	any good.

"it is an error" means that a correct compiler may generate arbitrary
and worthless code when it encounters this case.  If "(lambda (ignore x
ignore) (declare (ignore ignore))...)" is an error, then it may do worse
than break.  This should either be legal, specified to signal an error,
or at least specified that, if not caught, will be harmless (not one of
the error catagories I know of)