SB-CLTL2
SB-CLTL2
properties
ID: SB-CLTL2
- dependencies
- dependents
FUNCTION-INFORMATION  compiled function
properties
ID: SB-CLTL2:FUNCTION-INFORMATION
ALLOC: HEAP DYNAMIC
FUNCTION-INFORMATION names a compiled function:
Lambda-list: (NAME &OPTIONAL ENV)
Declared type: (FUNCTION
((OR CONS SYMBOL) &OPTIONAL (OR SB-C::ABSTRACT-LEXENV NULL))
(VALUES (MEMBER :SPECIAL-FORM :MACRO :FUNCTION NIL) BOOLEAN
LIST &OPTIONAL))
Documentation:
Return information about the function NAME in the lexical environment ENV.
Note that the global function binding may differ from the local one.
This function returns three values. The first indicates the type of
function definition or binding:
- NIL: There is no apparent definition for NAME.
- :FUNCTION: NAME refers to a function.
- :MACRO: NAME refers to a macro.
- :SPECIAL-FORM: NAME refers to a special operator. If the name refers
to both a macro and a special operator, the macro takes precedence.
The second value is true if NAME is bound locally.
The third value is an alist describing the declarations that apply to
the function NAME. Standard declaration specifiers that may appear in
CARS of the alist include:
- DYNAMIC-EXTENT: If the CDR is T, NAME has been declared
DYNAMIC-EXTENT. If the CDR is NIL, the alist element may be omitted.
- INLINE: The CDR is one of the symbols INLINE, NOTINLINE, or NIL, to
indicate if the function has been declared INLINE or NOTINLINE. If
the CDR is NIL the alist element may be omitted.
- FTYPE: The CDR is the type specifier associated with NAME, or the
symbol FUNCTION if there is functional type declaration or
proclamation associated with NAME. If the CDR is FUNCTION the alist
element may be omitted.
- SB-EXT:DEPRECATED: (SBCL specific) The CDR is a plist containing the
following properties:
- :STATE ( :EARLY | :LATE | :FINAL )
Use of :EARLY deprecated functions signals a STYLE-WARNING at
compile-time.
Use of :LATE deprecated functions signals a full WARNING at
compile-time.
Use of :FINAL deprecated functions signals a full WARNING at
compile-time and an error at runtime.
- :SINCE (SOFTWARE VERSION)
VERSION is a string designating the version since which the
function has been deprecated. SOFTWARE is NIL or the name of
the software to which VERSION refers, e.g. "SBCL" for
deprecated functions in SBCL.
- :REPLACEMENTS REPLACEMENTS
When this property is present, REPLACEMENTS is a list of
symbols naming functions that should be used instead of the
deprecated function.
In addition to these declarations defined using DEFINE-DECLARATION may
appear.
Source file: SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
- Called by
definitions
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
AUGMENT-ENVIRONMENT  compiled function
properties
ID: SB-CLTL2:AUGMENT-ENVIRONMENT
ALLOC: HEAP DYNAMIC
AUGMENT-ENVIRONMENT names a compiled function:
Lambda-list: (ENV &KEY VARIABLE SYMBOL-MACRO FUNCTION MACRO DECLARE)
Derived type: (FUNCTION
(T &KEY (:VARIABLE T) (:SYMBOL-MACRO T) (:FUNCTION T)
(:MACRO T) (:DECLARE T))
(VALUES T &OPTIONAL))
Documentation:
Create a new lexical environment by augmenting ENV with new information.
VARIABLE
is a list of symbols to introduce as new variable bindings.
SYMBOL-MACRO
is a list symbol macro bindings of the form (name definition).
MACRO
is a list of macro definitions of the form (name definition), where
definition is a function of two arguments (a form and an environment).
FUNCTION
is a list of symbols to introduce as new local function bindings.
DECLARE
is a list of declaration specifiers. Declaration specifiers attach to the
new variable or function bindings as if they appeared in let, let*, flet
or labels form. For example:
(augment-environment env :variable '(x) :declare '((special x)))
is like
(let (x) (declare (special x)) ....)
but
(augment-environment (augment-environment env :variable '(x))
:declare '((special x)))
is like
(let (x) (locally (declare (special x))) ...)
Source file: SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
definitions
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
PARSE-MACRO  compiled function
properties
ID: SB-CLTL2:PARSE-MACRO
ALLOC: HEAP DYNAMIC
PARSE-MACRO names a compiled function:
Lambda-list: (NAME LAMBDA-LIST BODY &OPTIONAL ENV)
Derived type: (FUNCTION (T T T &OPTIONAL T) (VALUES CONS &OPTIONAL))
Documentation:
Process a macro definition of the kind that might appear in a DEFMACRO form
into a lambda expression of two variables: a form and an environment. The
lambda expression will parse its form argument, binding the variables in
LAMBDA-LIST appropriately, and then execute BODY with those bindings in
effect.
Source file: SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
definitions
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
VARIABLE-INFORMATION  compiled function
properties
ID: SB-CLTL2:VARIABLE-INFORMATION
ALLOC: HEAP DYNAMIC
VARIABLE-INFORMATION names a compiled function:
Lambda-list: (NAME &OPTIONAL ENV)
Declared type: (FUNCTION (SYMBOL &OPTIONAL (OR SB-C::ABSTRACT-LEXENV NULL))
(VALUES
(MEMBER :ALIEN :GLOBAL :CONSTANT :SYMBOL-MACRO :LEXICAL
:SPECIAL NIL)
BOOLEAN LIST &OPTIONAL))
Documentation:
Return information about the variable name VAR in the lexical environmentENV.
Note that the global binding may differ from the local one.
This function returns three values. The first indicated the type of thevariable
binding:
- NIL: There is no apparent binding for NAME.
- :SPECIAL: NAME refers to a special variable.
- :LEXICAL: NAME refers to a lexical variable.
- :SYMBOL-MACRO: NAME refers to a symbol macro.
- :CONSTANT: NAME refers to a named constant defined using
DEFCONSTANT, or NAME is a keyword.
- :GLOBAL: NAME refers to a global variable. (SBCL specific extension.)
- :ALIEN NAME refers to an alien variable. (SBCL specific extension.)
The second value is true if NAME is bound locally. This is currently
always NIL for special variables, although arguably it should be T
when there is a lexically apparent binding for the special variable.
The third value is an alist describing the declarations that apply to
the function NAME. Standard declaration specifiers that may appear in
CARS of the alist include:
- DYNAMIC-EXTENT: If the CDR is T, NAME has been declared
DYNAMIC-EXTENT. If the CDR is NIL, the alist element may be omitted.
- IGNORE: If the CDR is T, NAME has been declared IGNORE. If the CDR
is NIL, the alist element may be omitted.
- TYPE: The CDR is the type specifier associated with NAME, or the
symbol T if there is explicit type declaration or proclamation
associated with NAME. The type specifier may be equivalent to or a
supertype of the original declaration. If the CDR is T the alist
element may be omitted.
- SB-EXT:ALWAYS-BOUND: (SBCL specific) If CDR is T, NAME has been
declared as SB-EXT:ALWAYS-BOUND.
- SB-EXT:DEPRECATED: (SBCL specific) The CDR is a plist containing the
following properties:
- :STATE ( :EARLY | :LATE | :FINAL )
Use of :EARLY deprecated variables signals a STYLE-WARNING at
compile-time.
Use of :LATE deprecated variables signals a full WARNING at
compile-time.
Use of :FINAL deprecated variables signals a full WARNING at
compile-time and an error at runtime.
- :SINCE (SOFTWARE VERSION)
VERSION is a string designating the version since which the
variable has been deprecated. SOFTWARE is NIL or the name of
the software to which VERSION refers, e.g. "SBCL" for
deprecated variables in SBCL.
- :REPLACEMENTS REPLACEMENTS
When this property is present, REPLACEMENTS is a list of
symbols naming variables that should be used instead of the
deprecated variable.
In addition to these declarations defined using DEFINE-DECLARATION may
appear.
Source file: SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
- Called by
- PARSE/BYTES::VARIABLE-TYPE
- (COERCE-TO-STRING)
- (COERCE-TO-SEQUENCE)
- (XSUBSEQ)
- VBOUNDP!
definitions
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
COMPILER-LET  compiled specop function
properties
ID: SB-CLTL2:COMPILER-LET
ALLOC: HEAP DYNAMIC
COMPILER-LET names a special operator: Lambda-list: (BINDINGS &REST FORMS) Source file: SYS:CONTRIB;SB-CLTL2;COMPILER-LET.LISP.NEWEST
definitions
- SYS:CONTRIB;SB-CLTL2;COMPILER-LET.LISP.NEWEST
ENCLOSE  compiled function
properties
ID: SB-CLTL2:ENCLOSE
ALLOC: HEAP DYNAMIC
ENCLOSE names a compiled function:
Lambda-list: (LAMBDA-EXPRESSION &OPTIONAL ENVIRONMENT)
Derived type: (FUNCTION (T &OPTIONAL T) *)
Documentation:
Return a function consistent with LAMBDA-EXPRESSION in ENVIRONMENT: the
lambda expression is allowed to reference the declarations and macro
definitions in ENVIRONMENT, but consequences are undefined if lexical
variables, functions, tags or any other run-time entity defined inENVIRONMENT
is referred to by the expression.
Source file: SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
- Called by
- OBJ/CMD::COMPILE-COMMAND
definitions
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
DEFINE-DECLARATION  compiled macro function
properties
ID: SB-CLTL2:DEFINE-DECLARATION
ALLOC: HEAP DYNAMIC
DEFINE-DECLARATION names a macro:
Lambda-list: (DECL-NAME LAMBDA-LIST &BODY BODY)
Documentation:
Define a handler for declaration specifiers starting with DECL-NAME.
The function defined by this macro is called with two arguments: adeclaration
specifier and a environment. It must return two values. The first valuemust
be :VARIABLE, :FUNCTION, or :DECLARE.
If the first value is :VARIABLE or :FUNCTION then the second value shouldbe a
list of elements of the form (BINDING-NAME KEY VALUE). conses (KEY . VALUE)
will be added to the alist returned by:
(function-information binding-name env)
or
(variable-information binding-name env)
If the first value is :DECLARE then the second value should be a
cons (DECL-NAME . VALUE). VALUE will be returned by:
(declaration-information decl-name env)
Source file: SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
definitions
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
DECLARATION-INFORMATION  compiled function
properties
ID: SB-CLTL2:DECLARATION-INFORMATION
ALLOC: HEAP DYNAMIC
DECLARATION-INFORMATION names a compiled function:
Lambda-list: (DECLARATION-NAME &OPTIONAL ENV)
Declared type: (FUNCTION (SYMBOL &OPTIONAL (OR SB-C::ABSTRACT-LEXENV NULL))
(VALUES T &OPTIONAL))
Documentation:
Return information about declarations named by DECLARATION-NAME.
If DECLARATION-NAME is OPTIMIZE return a list who's entries are of the
form (QUALITY VALUE).
If DECLARATION-NAME is DECLARATION return a list of declaration names that
have been proclaimed as valid.
If DECLARATION-NAME is a name that has defined via DEFINE-DECLARATIONreturn a
user defined value.
If DECLARATION-NAME is SB-EXT:MUFFLE-CONDITIONS return a type specifier for
the condition types that have been muffled.
Source file: SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
- Called by
- (DECLARATION-ARGLIST ((EQL OPTIMIZE)))
definitions
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST
- SYS:CONTRIB;SB-CLTL2;ENV.LISP.NEWEST