Subject: Re: Warnings?
From: Erik Naggum <clerik@naggum.no>
Date: 1998/07/18
Newsgroups: comp.lang.lisp
Message-ID: <3109736487728819@naggum.no>

* Paul Dietz
| I hope not.  I write macros that introduce temporaries like this:
| 
| 	(let ((temp ...))
| 	    temp
| 	    ...)
| 
| so that the compiler does not issue spurious warnings if temp is not
| actually used in the rest of the let body.  This works under Franz's ACL.

  ANSI Common Lisp provides an IGNORABLE declaration that should warn
  neither when the variable is used nor when not used.  (it is almost as
  annoying to have to declare unused variables in MULTIPLE-VALUE-BIND and
  such as it is to have a compiler whine that you lied to it about not
  using one of them.)  Franz Inc's Allegro Common Lisp [for Unix] has
  "always" had an EXCL::IGNORE-IF-UNUSED declaration that behaves exactly
  the same as IGNORABLE is specified to do, and ACL still uses it in the
  expansion of some macros that inquisitive users may run into, which is
  why they document it.  (4.3 User Guide, Appendix A, item 300.)

  while I tend to think the declaration syntax in CL is a bit on the
  verbose and cumbersome side, I still prefer them to hacks like the above.
  I'd be inclined to remove a line like that if I were to review such code.

  [pet peeve alert] ... and isn't it about time to demand ANSI CL semantics
  in the Common Lisps we use?

#:Erik
-- 
  http://www.naggum.no/spam.html is about my spam protection scheme and how
  to guarantee that you reach me.  in brief: if you reply to a news article
  of mine, be sure to include an In-Reply-To or References header with the
  message-ID of that message in it.  otherwise, you need to read that page.