CLCS
Function

constantp

constantp form &optional environment ⇒ generalized-boolean

Arguments and Values

forma form.
environmentan environment object. The default is nil.
generalized-booleana generalized boolean.

Description

Returns true if form can be determined by the implementation to be a constant form in the indicated environment; otherwise, it returns false indicating either that the form is not a constant form or that it cannot be determined whether or not form is a constant form.

The following kinds of forms are considered constant forms:

If an implementation chooses to make use of the environment information, such actions as expanding macros or performing function inlining are permitted to be used, but not required; however, expanding compiler macros is not permitted.

Examples

 (constantp 1) ⇒  true
 (constantp 'temp) ⇒  false
 (constantp ''temp)) ⇒  true
 (defconstant this-is-a-constant 'never-changing) ⇒  THIS-IS-A-CONSTANT 
 (constantp 'this-is-a-constant) ⇒  true
 (constantp "temp") ⇒  true
 (setq a 6) ⇒  6 
 (constantp a) ⇒  true
 (constantp '(sin pi)) ⇒  implementation-dependent
 (constantp '(car '(x))) ⇒  implementation-dependent
 (constantp '(eql x x)) ⇒  implementation-dependent
 (constantp '(typep x 'nil)) ⇒  implementation-dependent
 (constantp '(typep x 't)) ⇒  implementation-dependent
 (constantp '(values this-is-a-constant)) ⇒  implementation-dependent
 (constantp '(values 'x 'y)) ⇒  implementation-dependent
 (constantp '(let ((a '(a b c))) (+ (length a) 6))) ⇒  implementation-dependent

Affected By

The state of the global environment (e.g., which symbols have been declared to be the names of constant variables).

See Also

defconstant