NextPrevUpTopContentsIndex

proclaim

Function
Summary

Established a specified declaration in the global environment.

Package

common-lisp

Signature

proclaim declaration-list => nil

Arguments

declaration-list

A list of declaration forms to be put into immediate and pervasive effect.

Values

Returns nil .

Description

Unlike declare, proclaim is a function that parses the declarations in the list (usually a quoted list), and puts their semantics and advice into global effect. This can be useful when compiling a file for speedy execution, since a proclamation such as:

(proclaim '(optimize (speed 3) (space 0) (debug 0)))

means the rest of the file is compiled with these optimization levels in effect. Other ways of doing this are:

See the LispWorks User Guide for a more extended description.

Examples
(proclaim '(special *fred*))
(proclaim '(type single-float x y z))
(proclaim '(optimize (safety 0) (speed 3)))
Notes

As proclaim involves parsing a list of lists of symbols and is intended to be used a few times per file, its implementation is not optimized for speed -- it makes little sense to use it other than at top level.

Remember to quote the argument list if it is a constant list. (proclaim (special x)) attempts to call function special .

Exercise caution if you declare or proclaim variables to be special without regard to the naming convention that surrounds their names with asterisks.

See also
compile
compile-file
declare

LispWorks Reference Manual - 23 Jul 2004

NextPrevUpTopContentsIndex