Common Lisp Package: CONTEXTL

README:

FUNCTION

Public

MAKE-SPECIAL-SYMBOL

creates a fresh unique special symbol

SPECIAL-SYMBOL-P (SYMBOL)

checks whether a symbol is special, as created by make-special-symbol

Undocumented

ACTIVE-LAYERS (&OPTIONAL (CONTEXT *ACTIVE-CONTEXT*))

ADJOIN-LAYER

ADJOIN-LAYER-USING-CLASS

APPLY-WITH-LAYER-CONTEXT (LAYER-CONTEXT FUNCTION &REST ARGS)

CAPTURE-DYNAMIC-ENVIRONMENT (&OPTIONAL MARK)

CLEAR-LAYER-CACHES

CURRENT-LAYER-CONTEXT

SETFCURRENT-LAYER-CONTEXT (NEW-LAYER-CONTEXT)

DYNAMIC-SYMBOL (SYMBOL)

DYNAMIC-SYMBOL-BOUNDP (SYMBOL)

DYNAMIC-SYMBOL-MAKUNBOUND (SYMBOL)

DYNAMIC-SYMBOL-P (SYMBOL)

DYNAMIC-SYMBOL-VALUE (SYMBOL)

SETFDYNAMIC-SYMBOL-VALUE (VALUE SYMBOL)

ENSURE-ACTIVE-LAYER (LAYER-NAME)

ENSURE-INACTIVE-LAYER (LAYER-NAME)

ENSURE-LAYER (LAYER-NAME &REST INITARGS &KEY (METACLASS 'STANDARD-LAYER-CLASS) &ALLOW-OTHER-KEYS)

ENSURE-LAYERED-FUNCTION (NAME &REST INITARGS &KEY (LAMBDA-LIST NIL LAMBDA-LIST-P) (ARGUMENT-PRECEDENCE-ORDER (REQUIRED-ARGS LAMBDA-LIST)) (DOCUMENTATION NIL) (GENERIC-FUNCTION-CLASS 'LAYERED-FUNCTION) &ALLOW-OTHER-KEYS)

ENSURE-LAYERED-METHOD (LAYERED-FUNCTION-DESIGNATOR LAMBDA-EXPRESSION &KEY (METHOD-CLASS NIL METHOD-CLASS-P) (IN-LAYER 'T) (QUALIFIERS NIL) (LAMBDA-LIST (CADR LAMBDA-EXPRESSION)) (SPECIALIZERS (REQUIRED-ARGS LAMBDA-LIST (CONSTANTLY (FIND-CLASS 'T)))))

FIND-SINGLETON (NAME &OPTIONAL (ERRORP T) ENVIRONMENT)

FUNCALL-WITH-LAYER-CONTEXT (LAYER-CONTEXT FUNCTION &REST ARGS)

LAYER-ACTIVE-P (LAYER &OPTIONAL (CONTEXT *ACTIVE-CONTEXT*))

LAYERED-FUNCTION-DEFINER (NAME)

LFMAKUNBOUND (NAME)

MAKE-DYNAMIC-SYMBOL (&OPTIONAL (X DYNAMIC-SYMBOL-))

REMOVE-LAYER

REMOVE-LAYER-USING-CLASS

SLOT-BOUNDP-USING-LAYER

SLOT-MAKUNBOUND-USING-LAYER

SLOT-VALUE-USING-LAYER

SETFSLOT-VALUE-USING-LAYER

Private

BIND-LF-NAMES (NAME)

Takes the name of a layered function caller and ensures that it can be retrieved again from the name of a corresponding definer.

DBOX-VALUE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DEFINING-LAYER (NAME)

Takes the name of a layer and returns its internal name.

DYNAMIC-MARK-NAME (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

LAYER-CONTEXT-CHILDREN/ENSURE-ACTIVE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

LAYER-CONTEXT-CHILDREN/ENSURE-INACTIVE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

LAYER-CONTEXT-LOCK (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

LAYER-CONTEXT-PROTOTYPE (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

LAYER-CONTEXT-SPECIALIZER (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

LF-CALLER-NAME (NAME)

Takes the name of a layered function definer and returns the name of the corresponding caller.

LF-DEFINER-NAME (NAME)

Takes the name of a layered function caller and returns the name of the corresponding definer.

PREPARE-BINDING (BINDING ENV)

ensure that a binding form is 'well-formed' to ease further processing

SYMBOL-MAPPER-MAP (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

SYMBOL-MAPPER-NAME (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

Undocumented

%DYNAMIC-SYMBOL (SYMBOL)

ALL-LAYER-CONTEXTS

ATOMIC-ENSURE-SYMBOL-MAPPING (SYMBOL MAPPER GENERATE)

CLEAR-LAYER-ACTIVE-CACHES (TEST &OPTIONAL (ALL-LAYER-CONTEXTS (ALL-LAYER-CONTEXTS)))

CLEAR-LAYER-INACTIVE-CACHES (TEST &OPTIONAL (ALL-LAYER-CONTEXTS (ALL-LAYER-CONTEXTS)))

COMPUTE-BINDINGS (SYMBOLS VALUES)

COPY-DBOX (INSTANCE)

COPY-DYNAMIC-MARK (INSTANCE)

COPY-LAYER-CONTEXT (INSTANCE)

COPY-SYMBOL-MAPPER (INSTANCE)

DBOX-P (OBJECT)

SETFDBOX-VALUE (NEW-VALUE INSTANCE)

DYNAMIC-MARK-P (OBJECT)

FUNCALL-WITH-SPECIAL-INITARGS (BINDINGS THUNK)

SETFLAYER-CONTEXT-CHILDREN/ENSURE-ACTIVE (NEW-VALUE INSTANCE)

SETFLAYER-CONTEXT-CHILDREN/ENSURE-INACTIVE (NEW-VALUE INSTANCE)

LAYER-CONTEXT-P (OBJECT)

MAKE-DBOX (VALUE)

MAKE-DYNAMIC-MARK (NAME)

MAKE-LAYER-CONTEXT (&KEY ((PROTOTYPE DUM434) (ERROR No layer-context-prototype specified.)) ((SPECIALIZER DUM435) (ERROR No layer-context-specializer specified.)) ((CHILDREN/ENSURE-ACTIVE DUM436) 'NIL) ((CHILDREN/ENSURE-INACTIVE DUM437) 'NIL) ((LOCK DUM438) (MAKE-LOCK NAME layer context)))

MAKE-LOCK (&KEY (NAME contextl lock))

MAKE-SYMBOL-MAPPER (NAME)

PARSE-GF-LAMBDA-LIST (LAMBDA-LIST)

PARSE-METHOD-BODY (FORM BODY)

PLAIN-FUNCTION-NAME (NAME)

PLAIN-FUNCTION-NAME-P (NAME)

PREPARE-LAYER (LAYER)

PREPARE-LAYERED-METHOD-BODY (NAME FORM LAYER-ARG BODY)

SAFE-ADJOIN-LAYER (LAYER ACTIVE-CONTEXT)

SAFE-REMOVE-LAYER (LAYER ACTIVE-CONTEXT)

SETF-FUNCTION-NAME-P (NAME)

SHIFT-SLOT (OBJECT SLOT-NAME)

SYMBOL-MAPPER-P (OBJECT)

MACRO

Public

DLETF (BINDINGS &BODY BODY &ENVIRONMENT ENV)

bind places to new values with dynamic scope in parallel, and execute body in that new dynamic environment

DLETF* (BINDINGS &BODY BODY &ENVIRONMENT ENV)

sequentially bind places to new values with dynamic scope, and execute body in that new dynamic environment

DRELETF (BINDINGS &BODY BODY &ENVIRONMENT ENV)

bind places to new values with dynamic scope in parallel, and execute body in that new dynamic environment

DRELETF* (BINDINGS &BODY BODY &ENVIRONMENT ENV)

sequentially bind places to new values with dynamic scope, and execute body in that new dynamic environment

SPECIAL-SYMBOL-PROGV (SYMBOLS VALUES &BODY BODY &ENVIRONMENT ENV)

like dynamic-progv, only that symbols must all be special symbols

SPECIAL-SYMBOL-REPROGV (SYMBOLS VALUES &BODY BODY &ENVIRONMENT ENV)

like dynamic-reprogv, only that symbols must all be special symbols

WITH-SYMBOL-ACCESS (&BODY BODY)

executes body in an environment with *symbol-access* set to t

WITHOUT-SYMBOL-ACCESS (&BODY BODY)

executes body in an environment with *symbol-access* set to nil

Undocumented

DEFDYNAMIC (NAME &BODY FORM)

DEFINE-LAYERED-CLASS (&WHOLE FORM NAME &BODY OPTIONS)

DEFINE-LAYERED-FUNCTION (NAME (&REST ARGS) &BODY OPTIONS)

DEFINE-LAYERED-METHOD (&WHOLE FORM NAME &BODY BODY)

DEFLAYER (NAME &OPTIONAL SUPERLAYERS &BODY OPTIONS)

DLET ((&REST BINDINGS) &BODY BODY)

DLET* ((&REST BINDINGS) &BODY BODY)

DRELET ((&REST BINDINGS) &BODY BODY)

DRELET* ((&REST BINDINGS) &BODY BODY)

DYNAMIC (VAR)

DYNAMIC-LET ((&REST BINDINGS) &BODY BODY)

DYNAMIC-LET* ((&REST BINDINGS) &BODY BODY)

DYNAMIC-PROGV (SYMBOLS VALUES &BODY BODY)

DYNAMIC-RELET ((&REST BINDINGS) &BODY BODY)

DYNAMIC-RELET* ((&REST BINDINGS) &BODY BODY)

DYNAMIC-REPROGV (SYMBOLS VALUES &BODY BODY)

DYNAMIC-WIND (&BODY BODY)

SET-DYNAMIC (FORM VAR)

WITH-ACTIVE-LAYERS ((&REST LAYER-NAMES) &BODY BODY)

WITH-ACTIVE-LAYERS* ((&REST LAYER-NAMES) &BODY BODY)

WITH-DYNAMIC-ENVIRONMENT ((ENVIRONMENT) &BODY BODY)

WITH-DYNAMIC-MARK ((MARK-VARIABLE) &BODY BODY)

WITH-INACTIVE-LAYERS ((&REST LAYER-NAMES) &BODY BODY)

WITH-SPECIAL-INITARGS ((&REST BINDINGS) &BODY BODY)

WITH-SPECIAL-INITARGS* ((&REST BINDINGS) &BODY BODY)

Private

Undocumented

%WITH-ACTIVE-LAYERS ((&REST LAYER-NAMES) &BODY BODY)

%WITH-INACTIVE-LAYERS ((&REST LAYER-NAMES) &BODY BODY)

AS-ATOMIC-OPERATION (&BODY BODY)

WITH-LOCK ((LOCK) &BODY BODY)

GENERIC-FUNCTION

Public

Undocumented

CALL-WITH-DYNAMIC-ENVIRONMENT (ENVIRONMENT THUNK)

FIND-LAYER (LAYER &OPTIONAL ERRORP ENVIRONMENT)

FIND-LAYER-CLASS (LAYER &OPTIONAL ERRORP ENVIRONMENT)

LAYER-MAKUNBOUND (LAYER)

LAYERED-FUNCTION-ARGUMENT-PRECEDENCE-ORDER (FUNCTION)

LAYERED-FUNCTION-LAMBDA-LIST (FUNCTION)

LAYERED-METHOD-LAMBDA-LIST (METHOD)

LAYERED-METHOD-LAYER (METHOD)

LAYERED-METHOD-SPECIALIZERS (METHOD)

PARTIAL-CLASS-BASE-INITARGS (CLASS)

Private

Undocumented

=LAYERED-FUNCTION-DEFINER-FOR-ADJOIN-LAYER-USING-CLASS= (LAYER-ARG25 LAYER-CLASS ACTIVE-CONTEXT)

=LAYERED-FUNCTION-DEFINER-FOR-REMOVE-LAYER-USING-CLASS= (LAYER-ARG138 LAYER-CLASS ACTIVE-CONTEXT)

=LAYERED-FUNCTION-DEFINER-FOR-SLOT-BOUNDP-USING-LAYER= (LAYER-ARG292 CLASS OBJECT SLOT READER)

=LAYERED-FUNCTION-DEFINER-FOR-SLOT-MAKUNBOUND-USING-LAYER= (LAYER-ARG367 CLASS OBJECT SLOT WRITER)

=LAYERED-FUNCTION-DEFINER-FOR-SLOT-VALUE-USING-LAYER= (LAYER-ARG113 CLASS OBJECT SLOT READER)

SETF=LAYERED-FUNCTION-DEFINER-FOR-SLOT-VALUE-USING-LAYER= (LAYER-ARG188 NEW-VALUE CLASS OBJECT SLOT WRITER)

ADD-LAYERED-ACCESSORS (CLASS)

CLEAR-ACTIVATION-METHOD-CACHES (GF METHOD)

CLEAR-LAYER-CONTEXT-CACHES (LAYER)

MAP-SYMBOL (MAPPER SYMBOL &OPTIONAL GENERATE)

PROCESS-LAYERED-ACCESS-SLOT-SPECIFICATION (SLOT-SPEC)

REMOVE-LAYERED-ACCESSORS (CLASS)

SLOT-ACCESSOR

Public

Undocumented

CLASS-LAYER (CLASS)

LAYER-NAME (LAYER)

PARTIAL-CLASS-DEFINING-CLASSES (OBJECT)

PARTIAL-CLASS-DEFINING-METACLASS (OBJECT)

SLOT-DEFINITION-LAYER (SLOT)

SLOT-DEFINITION-LAYERED-READERS (OBJECT)

SLOT-DEFINITION-LAYERED-WRITERS (OBJECT)

SLOT-DEFINITION-LAYEREDP (SLOT)

SLOT-DEFINITION-LAYERS (SLOT)

SLOT-DEFINITION-SPECIALP (SLOT)

Private

Undocumented

DYNAMIC-WINDS (OBJECT)

LAYERED-ACCESSOR-METHODS (OBJECT)

SETFLAYERED-ACCESSOR-METHODS (NEW-VALUE OBJECT)

SLOT-DEFINITION-REINITIALIZEP (OBJECT)

SETFSLOT-DEFINITION-REINITIALIZEP (NEW-VALUE OBJECT)

SPECIAL-CLASS-LOCK (OBJECT)

VARIABLE

Public

*SYMBOL-ACCESS*

set/get a place's special symbol instead of its symbol value when this is set to a non-nil value

Private

Undocumented

%UNBOUND

*ACTIVE-CONTEXT*

*ATOMIC-OPERATION-LOCK*

*DYNAMIC-SYMBOL*

*DYNAMIC-WIND-STACK*

*LAYER-CLASS-DEFINER*

*LAYERED-FUNCTION-DEFINER*

*REINITIALIZE-SINGLETON-CLASS*

*ROOT-CONTEXT*

CLASS

Public

Undocumented

DYNAMIC-ENVIRONMENT

DYNAMIC-MARK

LAYERED-ACCESS-CLASS

LAYERED-CLASS

LAYERED-DIRECT-SLOT-DEFINITION

LAYERED-EFFECTIVE-SLOT-DEFINITION

LAYERED-EFFECTIVE-SLOT-DEFINITION-IN-LAYERS

LAYERED-FUNCTION

LAYERED-METHOD

PARTIAL-CLASS

PARTIAL-OBJECT

SINGLETON-CLASS

SPECIAL-CLASS

SPECIAL-DIRECT-SLOT-DEFINITION

SPECIAL-EFFECTIVE-SLOT-DEFINITION

SPECIAL-EFFECTIVE-SLOT-DEFINITION-IN-LAYERS

SPECIAL-LAYERED-ACCESS-CLASS

SPECIAL-LAYERED-DIRECT-SLOT-DEFINITION

SPECIAL-LAYERED-EFFECTIVE-SLOT-DEFINITION

SPECIAL-OBJECT

STANDARD-CLASS-IN-LAYER

STANDARD-DIRECT-SLOT-DEFINITION-IN-LAYER

STANDARD-EFFECTIVE-SLOT-DEFINITION-IN-LAYERS

STANDARD-LAYER-CLASS

STANDARD-LAYER-OBJECT

Private

Undocumented

DBOX

LAYER-CONTEXT

LAYER-DIRECT-SLOT-DEFINITION

ROOT-SPECIALIZER

SINGLETON-DIRECT-SLOT-DEFINITION

SYMBOL-MAPPER