Special Form
common-lisp
declare declaration*
A declaration specifier, not evaluated.
declare behaves computationally as if it is not present (other than to affect the semantics), and is only allowed in certain contexts, such as after the variable list in alet,do,defun, etc. declare forms and/or documentation strings.) declare: one is to declare Lisp variables as "special" (this affects the semantics of the appropriate bindings of the variables), and the other is to provide advice to help the Common Lisp system (in reality the compiler) run your Lisp code faster, or with more sophisticated debugging options. declare:lambda-list specifies the value to be returned when a programmer asks for the arglist of a functionvalues specifies the value to be returned when you ask for a description of the results of a functioninvisible-frame specifies that calls to this function should not appear in a debugger backtracealias specifies that calls to this function should be displayed as calls to an alternative function in a debugger backtracedeclare to specify types (and so turn off type-checking for the specified symbols) and then supply the wrong type, you may obtain a "Segmentation Violation". You can check this by interpreting the code (rather than compiling it). compilecompile-fileproclaim