From: Nikodemus S. <nik...@ra...> - 2008-12-17 18:44:21
|
On Wed, Dec 17, 2008 at 8:21 PM, Tobias C. Rittweiler <tc...@fr...> wrote: > The problem is that _consequences are unspecified_ for > > (dotimes (i 100) > (declare (ignore i)) > (print i)) > > So other implementations may rightfully signal a style-warning for this, > or even refuse compilation. So to get portably no style-warning, you'd > have to write > > (dotimes (i 100) > #+SBCL (declare (ignore i)) > (print i)) I assume you meant (PRINT 'FOO). However, (dotimes (i 100) (declare (ignorable i)) (print 'foo)) should do what you want -- that is, it should not signal a style-warning anywhere. > If you don't apply the patch, then at least make the behaviour > consistent, and not a detail of the implementation. That is make > > (dotimes (i 100) ..body..) > > expand to > > (do ((#:G 0 (1+ #:G))) > ((>= #:G 10) nil) > (declare (type unsigned-byte #:G)) > (LET ((I #:G)) > ..body..)) Hmm... Cheers, -- Nikodemus |