Subject: RE: bug#11735: 24.1.50; "Warning: Unknown defun property ... in ..."

From: "Drew Adams" <[email-masked]>
Date: Tue, 19 Jun 2012 06:34:25 -0700

> > Without checking the Common Lisp spec (IANAL), I would 
> > guess that even Common Lisp, which defines such optimization
> > declarations, leaves it up to CL implementations to ignore
> > some of them.  But I doubt that it leaves it up to
> > them to raise a warning for those declarations it does not 
> > recognize.
> 
> This is SBCL 1.0.55.7.mswinmt.1185-d20ec0c, an implementation of ANSI
> Common Lisp.
> * (defun test2 () (declare (optimize bar)) t)
> ; in: defun test2
> ;     (OPTIMIZE BAR)
> ; caught warning:
> ;   Ignoring unknown optimization quality bar in: (optimize bar)
> ; compilation unit finished
> ;   caught 1 WARNING condition

OK, so you've confirmed my doubt.  I stand corrected.

(Actually, you've shown only that there exists an implementation (albeit a
common one) that prints a warning.  That does not confirm that the CL spec says
that's OK.  But I claimed IANAL...)

Perhaps this kind of message is a candidate for a :debug warning level?  I
already said that it is useful for programmers.  I do not see it as helpful for
general users just loading a library.  On the contrary: some might become
confused, if not downright worried.  That's all I'm trying to say.