| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 version |
Arguments: environment &key variable symbol-macro constant function macro declare special-operator block tag compiler-macro flavor-iv reuse locative
This function returns a new environment object created by augmenting environment with the information provided by the keyword aguments.
The keyword argument corresponding to namespaces (variable, symbol-macro, constant, function, macro, special-operator, block, tag, and flavor-iv), locative information can be supplied for each name added. (See variable-information, function-information, tag-information, and block-information for information on appropriate locative values for different objects.) Locative information can be provided for each name by having instead of a list of names for one of the arguments listed above, an alist with the car of each element being the name and the cdr being the locative information.
The keyword arguments are:
(
name
definition
)
(similar to specifications to symbol-macrolet). Thus the new environment will
have a symbol-macro binding for each name and macroexpand will be able to expand them
correctly. A type declaration for a name added to the
declare argument wraps a the form mentioning the type about the
definition.
(
name
definition
)
(similar to specifications to macrolet). Each definition must be a
function of two arguments (a form and an environment). The new
environment will have a local macro binding for each name
corresponding to the macro expander function.
nil
(the default) a new environment object is consed,
i.e. the environment object returned is not eq to the one given. When
reuse is non-nil
, then
the old environment object is returned, and any additions to the
environment are added at the same level, as if they had been all added
in the same call to augment-environment which created this
environment object.
Copyright (c) 1998-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.1 page.
Created 2010.1.21.
| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 version |