Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!ncar!boulder!andreasg From: andreasg@boulder.Colorado.EDU (Andreas Girgensohn) Newsgroups: comp.lang.lisp Subject: Re: declarations Message-ID: <7641@boulder.Colorado.EDU> Date: 23 Mar 89 16:15:21 GMT References: <7325@phoenix.Princeton.EDU> Sender: news@boulder.Colorado.EDU Reply-To: andreasg@boulder.Colorado.EDU (Andreas Girgensohn) Organization: University of Colorado, Boulder Lines: 27 In article <7325@phoenix.Princeton.EDU> eliot@phoenix.Princeton.EDU (Eliot Handelman) writes: >Question about IGNORE: > >(defun foo (x) > (declare (ignore x)) > :ignored) > >After compiling the function in KCl, I then do this: > >>(foo) >:IGNORED > >>(foo 1 2 3 4 5 6) >:IGNORED > >Is this the right behavior? Should FOO complain about too many or too few >arguments, or can I count on this happening in all CL's? Steele doesn't >seem to have anything to say about it. As far as I know checks KCL the number of arguments only if you declare (optimize (safety 2)) or (optimize (safety 3)). You can declare that local with declare or global with proclaim. The default is (safety 0). I don't think that the (declare (ignore x)) has anything to do with the behavior. Andreas Girgensohn andreasg@boulder.colorado.edu