The definitions Reference Manual

This is the definitions Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:16:01 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 definitions

General definitions reflection library.

Maintainer

Yukari Hafner <>

Author

Yukari Hafner <>

Home Page

https://Shinmera.github.io/definitions/

Source Control

(GIT https://github.com/Shinmera/definitions.git)

Bug Tracker

https://github.com/Shinmera/definitions/issues

License

zlib

Version

1.0.0

Dependencies
  • documentation-utils (system).
  • sb-introspect (system)., required, for feature :sbcl
  • sb-cltl2 (system)., required, for feature :sbcl
Source

definitions.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 definitions/definitions.asd

Source

definitions.asd.

Parent Component

definitions (system).

ASDF Systems

definitions.


3.1.2 definitions/package.lisp

Source

definitions.asd.

Parent Component

definitions (system).

Packages

definitions.


3.1.3 definitions/protocol.lisp

Dependency

package.lisp (file).

Source

definitions.asd.

Parent Component

definitions (system).

Public Interface
Internals

*definition-resolvers* (special variable).


3.1.4 definitions/base-types.lisp

Dependency

protocol.lisp (file).

Source

definitions.asd.

Parent Component

definitions (system).

Public Interface
Internals

3.1.5 definitions/ccl.lisp

If Feature

:ccl

Dependency

base-types.lisp (file).

Source

definitions.asd.

Parent Component

definitions (system).


3.1.6 definitions/sbcl.lisp

If Feature

:sbcl

Dependencies
Source

definitions.asd.

Parent Component

definitions (system).

Public Interface
Internals

3.1.7 definitions/clasp.lisp

If Feature

:clasp

Dependencies
Source

definitions.asd.

Parent Component

definitions (system).


3.1.8 definitions/documentation.lisp

Dependencies
Source

definitions.asd.

Parent Component

definitions (system).


4 Packages

Packages are listed by definition order.


4.1 definitions

Source

package.lisp.

Nickname

org.shirakumo.definitions

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Macros

Macro: define-definition-resolver (name args &body body)

Define a new definition resolver.

This is mostly provided as a shorthand.

See DEFINITION-RESOLVER

Package

definitions.

Source

protocol.lisp.

Macro: define-simple-definition-resolver (class lookup-function &body body)

A simpler form to define a definition resolver.

This comes in two forms, short-form and long-form:

SHORT-FORM
In this form, only LOOKUP-FUNCTION is provided, and must be a symbol that names the test-function.

LONG-FORM
In this form, LOOKUP-FUNCTION is a lambda-list, and BODY is the forms that make up the test-function.

If the test-function returns successfully and returns non-NIL, then the definition resolver returns a list with a single instance of the given CLASS, providing the designator as the initarg for :DESIGNATOR.

The name of the definition resolver is set to CLASS.

See DEFINE-DEFINITION-RESOLVER

Package

definitions.

Source

protocol.lisp.

Macro: define-simple-documentation-lookup (class documentation-type)

A simpler form to define the documentation lookup.

This simply delegates the lookup to CL:DOCUMENTATION, using the provided arguments. If the DOCUMENTATION-TYPE is T, then CL:DOCUMENTATION is called with the OBJECT of the definition. Otherwise, CL:DOCUMENTATION is called with the DESIGNATOR of the definition and the provided DOCUMENTATION-TYPE.

See DOCUMENTATION
See CL:DOCUMENTATION
See OBJECT
See DESIGNATOR

Package

definitions.

Source

protocol.lisp.

Macro: define-simple-object-lookup (class lookup-function &body body)

A simpler form to define the OBJECT method.

This comes in two forms, short-form and long-form:

SHORT-FORM
In this form, only LOOKUP-FUNCTION is provided, and must be a symbol that names the lookup-function.

LONG-FORM
In this form, LOOKUP-FUNCTION is a lambda-list, and BODY is the forms that make up the lookup-function.

The lookup-function must accept a single argument, the definition instance, and must either return the object that the definition defines, or two values: NIL and :UNKNOWN.

See OBJECT

Package

definitions.

Source

protocol.lisp.

Macro: define-simple-type-map (class type)

A simpler form to define the type lookup.

This simply defines a method on TYPE for the given class, returning the TYPE symbol.

See TYPE

Package

definitions.

Source

protocol.lisp.


5.1.2 Ordinary functions

Function: apropos-definitions (string &key type)

Fuzzily search for definitions matching the given string.

The search is fuzzy in the following way:
If a symbol’s name contains the search string regardless of case, then the symbol is considered to match, and all definitions designated by the symbol are included in the
result.

See FIND-DEFINITIONS

Package

definitions.

Source

protocol.lisp.

Function: definition-resolver (name &optional errorp)

Accessor to the definition resolver of the given name.

A definition resolver is a function that accepts two arguments, a designator and a package, and returns a list of DEFINITION instances that are named by this designator.

See DEFINITION
See REMOVE-DEFINITION-RESOLVER
See DEFINE-DEFINITION-RESOLVER
See DEFINE-SIMPLE-DEFINITION-RESOLVER

Package

definitions.

Source

protocol.lisp.

Function: (setf definition-resolver) (name)
Package

definitions.

Source

protocol.lisp.

Function: remove-definition-resolver (name)

Removes the definition resolver of the given name.

See DEFINITION-RESOLVER

Package

definitions.

Source

protocol.lisp.


5.1.3 Generic functions

Generic Function: arguments (callable)

Returns the lambda-list of the callable.

The secondary value of this function is :UNKNOWN if no known method of retrieving the lambda-list is available. In that case, the primary value is always NIL.

A call to this function for any subtype of CALLABLE must not error.

See CALLABLE

Package

definitions.

Source

protocol.lisp.

Methods
Method: arguments ((type type))
Source

sbcl.lisp.

Method: arguments ((method method))
Source

sbcl.lisp.

Method: arguments ((callable callable))
Source

sbcl.lisp.

Generic Function: bind (designator type object)

Creates a new definition binding.

Returns the canonical designator for the new binding.

DESIGNATOR must be a designator to which a binding should be established. The designator may be normalised to some other, canonical designator.

TYPE must be the name or an instance of a definition type for which a new binding should be established. If it is a name, it is automatically coerced to an instance of the definition type. Note that this parameter is purely for dispatch purposes. Modifying or inspecting the instance in any way leads to undefined behaviour.

OBJECT must be some object in a predefined format that contains the definition information to which the new binding will point. What the structure of this object should be depends on the definition to bind.

If a binding of the given type for the given designator already exists, or the new binding would conflict with another existing binding in some way, an error of type BINDING-EXISTS must be signalled.

If the binding protocol is not implemented, an error of type NO-APPLICABLE-METHOD is signalled.

If you add custom definition types, you are encouraged to add methods to this function that allow standardised addition of new definition bindings.

Once a call to this function returns successfully, DEFINITION-P of the used designator and type must return T.

See (SETF OBJECT)
See UNBIND

Package

definitions.

Source

protocol.lisp.

Methods
Method: bind ((designator symbol) (type symbol-macro) object)
Source

base-types.lisp.

Method: bind ((designator symbol) (type constant) object)
Source

base-types.lisp.

Method: bind ((designator symbol) (type special-variable) object)
Source

base-types.lisp.

Method: bind ((designator symbol) (type class) (object class))
Source

base-types.lisp.

Method: bind (designator (type compiler-macro) (object function))
Source

base-types.lisp.

Method: bind (designator (type macro) (object function))
Source

base-types.lisp.

Method: bind (designator (type function) (object function))
Source

base-types.lisp.

Method: bind (designator (type symbol) object)
Generic Function: definition-p (designator type &key package)

Test whether a designator is designating a definition of the given type.

You may pass T for the type to test whether the designator is designating any definition at all.

This has the same semantics as calling FIND-DEFINITIONS with the designator, package, and type passed along, and checking that
the returned list of definitions isn’t empty.

See FIND-DEFINITIONS

Package

definitions.

Source

protocol.lisp.

Methods
Method: definition-p (thing type &key package)
Generic Function: designator (definition)

Returns the designator that names this definition.

Note that a single designator may name many definitions.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Method: designator ((package package))
Source

base-types.lisp.

Reader Method: designator ((global-definition global-definition))

automatically generated reader method

Target Slot

designator.

Reader Method: designator ((condition binding-exists))
Target Slot

designator.

Generic Function: documentation (definition)

Returns the documentation string associated with this definition.

This may be NIL if no documentation is defined or known.

The secondary value of this function is :UNKNOWN if no known method of retrieving the docstring is available. In that case, the primary value is always NIL.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Method: documentation ((structure structure))
Source

base-types.lisp.

Method: documentation ((method-combination method-combination))
Source

base-types.lisp.

Method: documentation ((method method))
Source

base-types.lisp.

Method: documentation ((setf-expander setf-expander))
Source

base-types.lisp.

Method: documentation ((compiler-macro compiler-macro))
Source

base-types.lisp.

Method: documentation ((macro macro))
Source

base-types.lisp.

Method: documentation ((function function))
Source

base-types.lisp.

Method: documentation ((package package))
Source

base-types.lisp.

Method: documentation ((variable variable))
Source

base-types.lisp.

Method: documentation ((type type))
Source

base-types.lisp.

Method: documentation ((special-operator special-operator))
Source

base-types.lisp.

Method: documentation ((definition global-definition))
Source

base-types.lisp.

Generic Function: find-definitions (designator &key package type)

Find applicable definitions for the given designator.

Depending on the type of the designator, the following happens: PACKAGE — FIND-DEFINITIONS is called for each symbol in the package, regardless of whether the symbol was inherited, or internal.
STRING — FIND-DEFINITIONS is called on the package returned by FIND-PACKAGE on the designator. If no package is found, an error is signalled.
T — All definitions found by the definition resolvers for the designator are returned as a single list.

This function should not error except for the above mentioned case when a string is passed that does not name a package.

The package argument designates the package that the global definitions should be relative to. This is mostly relevant for the visibility of the definition.

The type argument allows you to constrain the search to definitions of the given type.

See DEFINITION
See APROPOS-DEFINITIONS
See DEFINITION-RESOLVER

Package

definitions.

Source

protocol.lisp.

Methods
Method: find-definitions ((string string) &key package type)
Method: find-definitions ((search package) &key package type)
Method: find-definitions (designator &key package type)
Generic Function: name (definition)

Returns the name of this definition as a string.

For certain definitions this may be the same as the DESIGNATOR, or merely a simple mapping of the designator to a string.

This function may return NIL if it is not applicable to reduce the designator to a string name.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Method: name ((package package))
Source

base-types.lisp.

Method: name ((definition global-definition))
Generic Function: object (definition)

Returns the object that this definition defines.

The secondary value of this function is :UNKNOWN if no known method of retrieving the object is available. In that case, the primary value is always NIL.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Reader Method: object ((transform transform))

automatically generated reader method

Source

sbcl.lisp.

Target Slot

transform.

Reader Method: object ((optimizer optimizer))

automatically generated reader method

Source

sbcl.lisp.

Target Slot

optimizer.

Method: object ((method-combination method-combination))
Source

sbcl.lisp.

Method: object ((structure structure))
Source

sbcl.lisp.

Method: object ((condition condition))
Source

sbcl.lisp.

Method: object ((setf-expander setf-expander))
Source

sbcl.lisp.

Method: object ((type-definition type-definition))
Source

sbcl.lisp.

Method: object ((class class))
Source

base-types.lisp.

Method: object ((compiler-macro compiler-macro))
Source

base-types.lisp.

Method: object ((macro macro))
Source

base-types.lisp.

Method: object ((function function))
Source

base-types.lisp.

Reader Method: object ((package package))
Source

base-types.lisp.

Target Slot

package.

Reader Method: object ((method method))

automatically generated reader method

Source

base-types.lisp.

Target Slot

method.

Method: object ((definition global-definition))
Generic Function: (setf object) (definition)

Updates an existing definition binding.

Returns the passed OBJECT.

OBJECT must be some object in a predefined format that contains the definition information to which the new binding will point. What the structure of this object should be depends on the definition to bind.

If the updating protocol is not implemented, an error of type NO-APPLICABLE-METHOD is signalled.

If you add custom definition types, you are encouraged to add methods to this function that allow standardised updating of definition bindings.

See BIND
See UNBIND

Package

definitions.

Source

protocol.lisp.

Methods
Method: (setf object) ((definition special-variable))
Source

base-types.lisp.

Method: (setf object) ((definition symbol-macro))
Source

base-types.lisp.

Method: (setf object) ((definition class))
Source

base-types.lisp.

Method: (setf object) ((definition compiler-macro))
Source

base-types.lisp.

Method: (setf object) ((definition macro))
Source

base-types.lisp.

Method: (setf object) ((definition function))
Source

base-types.lisp.

Generic Reader: package (definition)

Returns the package this definition is tied to.

Typically this can be derived from the SYMBOL of the definition. This function is primarily provided for completeness and ease of use.

This function may return NIL if it is not applicable for the definition to be tied to a particular package.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Reader Method: package ((global-definition global-definition))

automatically generated reader method

Target Slot

package.

Generic Function: qualifiers (method)

Returns the list of qualifiers used for the method.

A call to this function for any subtype of METHOD must not error.

See METHOD

Package

definitions.

Source

base-types.lisp.

Methods
Method: qualifiers ((method method))
Generic Function: source-location (definition)

Returns the source location information of this definition.

A successful return will have the form of a plist with the following keys and values:

:FILE — A pathname to the file in which the definition was made. This pathname may be logical. :FORM — The number of the toplevel form in which this definition was made. This means that in order to read the definition, this number of calls+1 to READ must be made. This value may be NIL. :OFFSET — The offset in characters at which this definition was made. If :FORM is given, this offset is within the form that is indicated by the :FORM value. Otherwise, this offset is in terms of FILE-POSITION from the beginning of the file.

This may be NIL if no source location is available or known.

The secondary value of this function is :UNKNOWN if no known method of retrieving the source location is available. In that case, the primary value is always NIL.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Method: source-location ((ir1-convert ir1-convert))
Source

sbcl.lisp.

Method: source-location ((vop vop))
Source

sbcl.lisp.

Method: source-location ((transform transform))
Source

sbcl.lisp.

Method: source-location ((source-transform source-transform))
Source

sbcl.lisp.

Method: source-location ((optimizer optimizer))
Source

sbcl.lisp.

Method: source-location ((alien-type alien-type))
Source

sbcl.lisp.

Method: source-location ((global global))
Source

sbcl.lisp.

Method: source-location ((special-variable special-variable))
Source

sbcl.lisp.

Method: source-location ((type-definition type-definition))
Source

sbcl.lisp.

Method: source-location ((symbol-macro symbol-macro))
Source

sbcl.lisp.

Method: source-location ((structure structure))
Source

sbcl.lisp.

Method: source-location ((package package))
Source

sbcl.lisp.

Method: source-location ((method-combination method-combination))
Source

sbcl.lisp.

Method: source-location ((method method))
Source

sbcl.lisp.

Method: source-location ((macro macro))
Source

sbcl.lisp.

Method: source-location ((generic-function generic-function))
Source

sbcl.lisp.

Method: source-location ((function function))
Source

sbcl.lisp.

Method: source-location ((constant constant))
Source

sbcl.lisp.

Method: source-location ((condition condition))
Source

sbcl.lisp.

Method: source-location ((compiler-macro compiler-macro))
Source

sbcl.lisp.

Method: source-location ((class class))
Source

sbcl.lisp.

Method: source-location ((definition global-definition))
Source

sbcl.lisp.

Generic Function: symbol (definition)

Returns the symbol naming this definition.

This is different from the designator in the sense that the designator may be a compound expression that can be mapped to a single symbol. For instance, the (SETF FOO) designator would be reduced to the symbol FOO.

This function may return NIL if it is not applicable to reduce the designator to a symbol.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Method: symbol ((package package))
Source

base-types.lisp.

Method: symbol ((definition global-definition))
Generic Function: type (definition)

Returns the type of the object the definition defines.

For cases where the definition can be instantiated, this is equivalent to calling TYPE-OF on an instance of such a definition.

This function may NOT return NIL, and must always return some symbol that can be used to identify the type of the definition.

Note that this symbol is not necessarily unique to the type of the definition, meaning multiple definitions may share the same name.

A call to this function for any subtype of DEFINITION must not error.

See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Method: type ((declaration declaration))
Source

sbcl.lisp.

Method: type ((ir1-convert ir1-convert))
Source

sbcl.lisp.

Method: type ((vop vop))
Source

sbcl.lisp.

Method: type ((transform transform))
Source

sbcl.lisp.

Method: type ((source-transform source-transform))
Source

sbcl.lisp.

Method: type ((optimizer optimizer))
Source

sbcl.lisp.

Method: type ((alien-type alien-type))
Source

sbcl.lisp.

Method: type ((global global))
Source

sbcl.lisp.

Method: type ((symbol-macro symbol-macro))
Source

base-types.lisp.

Method: type ((constant constant))
Source

base-types.lisp.

Method: type ((special-variable special-variable))
Source

base-types.lisp.

Method: type ((type-definition type-definition))
Source

base-types.lisp.

Method: type ((structure structure))
Source

base-types.lisp.

Method: type ((condition condition))
Source

base-types.lisp.

Method: type ((class class))
Source

base-types.lisp.

Method: type ((method-combination method-combination))
Source

base-types.lisp.

Method: type ((method method))
Source

base-types.lisp.

Method: type ((generic-function generic-function))
Source

base-types.lisp.

Method: type ((setf-expander setf-expander))
Source

base-types.lisp.

Method: type ((compiler-macro compiler-macro))
Source

base-types.lisp.

Method: type ((macro macro))
Source

base-types.lisp.

Method: type ((function function))
Source

base-types.lisp.

Method: type ((package package))
Source

base-types.lisp.

Method: type ((variable variable))
Source

base-types.lisp.

Method: type ((type type))
Source

base-types.lisp.

Method: type ((special-operator special-operator))
Source

base-types.lisp.

Reader Method: type ((condition binding-exists))
Target Slot

type.

Generic Function: unbind (definition)

Removes the definition binding.

If the given definition is already unbound, this function does nothing.

If the unbinding protocol is not implemented for the given definition type, an error of type NO-APPLICABLE-METHOD is signalled.

If you add custom definition types, you are encouraged to add methods to this function that allow standardised removal of definition bindings.

Once a call to this function returns successfully, DEFINITION-P of the designator and type of the definition must return NIL.

See (SETF OBJECT)
See BIND

Package

definitions.

Source

protocol.lisp.

Methods
Method: unbind ((definition special-variable))
Source

base-types.lisp.

Method: unbind ((definition class))
Source

base-types.lisp.

Method: unbind ((definition method))
Source

base-types.lisp.

Method: unbind ((definition compiler-macro))
Source

base-types.lisp.

Method: unbind ((definition macro))
Source

base-types.lisp.

Method: unbind ((definition function))
Source

base-types.lisp.

Method: unbind ((definition package))
Source

base-types.lisp.

Generic Function: visibility (definition)

Returns the visibility of the definition from its package.

Returns one of the symbol status designators: :INTERNAL :EXTERNAL :INHERITED NIL

A call to this function for any subtype of DEFINITION must not error.

See CL:FIND-SYMBOL
See DEFINITION

Package

definitions.

Source

protocol.lisp.

Methods
Method: visibility ((package package))
Source

base-types.lisp.

Method: visibility ((definition global-definition))
Generic Function: who-defines (object)

Return all known definitions for a defined object.

Returns a list of DEFINITIONs.

This will attempt to do a reverse lookup of sorts. Given an object returned by OBJECT for a DEFINITION, this function should return said DEFINITION, and possibly others that bind the same object.

This call can be costly as the default procedure relies on scanning through all known definitions to do the reverse lookup.

See DEFINITION
See OBJECT

Package

definitions.

Source

protocol.lisp.

Methods
Method: who-defines (find)

5.1.4 Standalone methods

Method: initialize-instance :after ((definition global-definition) &key package)
Source

protocol.lisp.

Method: initialize-instance :around ((def package) &rest args &key package designator)
Source

base-types.lisp.

Method: print-object ((definition definition) stream)
Source

protocol.lisp.


5.1.5 Conditions

Condition: binding-exists

Error signalled when a new binding conflicts with an existing one.

The condition contains the DESIGNATOR and TYPE that the conflicting binding was intended to be for.

See TYPE
See DESIGNATOR
See BIND

Package

definitions.

Source

protocol.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: designator
Initargs

:designator

Readers

designator.

Writers

This slot is read-only.

Slot: type
Initargs

:type

Readers

type.

Writers

This slot is read-only.


5.1.6 Classes

Class: alien-type

Alien-type definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

sbcl.lisp.

Direct superclasses

global-definition.

Direct methods
Class: callable

Superclass for all definitions that represent objects that may be called.

See DEFINITION
See ARGUMENTS

Package

definitions.

Source

protocol.lisp.

Direct superclasses

definition.

Direct subclasses
Direct methods

arguments.

Class: class

Class definition representation.

Note that this does not include conditions, or structures.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

type.

Direct methods
Class: compiler-macro

Compiler-macro definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses
Direct methods
Class: condition

Condition definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

type.

Direct methods
Class: constant

Constant definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

variable.

Direct methods
Class: declaration

Declaration definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

sbcl.lisp.

Direct superclasses

global-definition.

Direct methods

type.

Class: definition

Base class for all definitions.

Any definition type MUST subclass this class.

See DESIGNATOR
See OBJECT
See SYMBOL
See NAME
See PACKAGE
See TYPE
See VISIBILITY
See DOCUMENTATION
See SOURCE-LOCATION

Package

definitions.

Source

protocol.lisp.

Direct subclasses
Direct methods

print-object.

Class: function

Function definition representation.

Note that this does not include macros, compiler-macros, setf- expanders, or methods.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses
Direct subclasses

generic-function.

Direct methods
Class: generic-function

Generic-function definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

function.

Direct methods
Class: global
Package

definitions.

Source

sbcl.lisp.

Direct superclasses

variable.

Direct methods
Class: global-definition

Superclass for global definitions reachable by a simple designator.

This class provides standard implementations for
OBJECT, SYMBOL, NAME, PACKAGE, VISIBILITY, DOCUMENTATION, and SOURCE-LOCATION. This means that all that’s necessary to reach compliance for a new subtype of GLOBAL-DEFINITION is the implementation of an appropriate TYPE method.

However, specific implementations of the other functions, particularly OBJECT, and DOCUMENTATION are usually needed in order to make all the information available.

See DEFINITION
See DESIGNATOR

Package

definitions.

Source

protocol.lisp.

Direct superclasses

definition.

Direct subclasses
Direct methods
Direct Default Initargs
InitargValue
:designator(error designator required.)
Direct slots
Slot: designator
Initargs

:designator

Readers

designator.

Writers

This slot is read-only.

Slot: package
Initargs

:package

Readers

package.

Writers

This slot is read-only.

Class: ir1-convert

IR1-Convert definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

sbcl.lisp.

Direct superclasses

global-definition.

Direct methods
Class: macro

Macro definition representation.

Note that this does not include compiler-macros, setf-expanders, or symbol-macros.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses
Direct methods
Class: method

Method definition representation.

Note that this is not discoverable portably.

See QUALIFIERS
See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: method
Initform

(error "method required.")

Initargs

:method

Readers

object.

Writers

This slot is read-only.

Class: method-combination

Method-combination definition representation.

Note that this is not discoverable portably.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

global-definition.

Direct methods
Class: optimizer

Optimizer definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

sbcl.lisp.

Direct superclasses

global-definition.

Direct methods
Direct slots
Slot: optimizer
Initargs

:optimizer

Readers

object.

Writers

This slot is read-only.

Class: package

Package definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

global-definition.

Direct methods
Direct slots
Slot: package
Readers

object.

Writers

This slot is read-only.

Class: setf-expander

Setf-expander definition representation.

Note that this is not discoverable portably.
Note that this does not include functions with a (SETF ..) designator.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses
Direct methods
Class: source-transform

Source-transform definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

sbcl.lisp.

Direct superclasses

global-definition.

Direct methods
Class: special-operator
Package

definitions.

Source

base-types.lisp.

Direct superclasses
Direct methods
Class: special-variable

Special variable definition representation.

Note that this is not discoverable portably.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

variable.

Direct methods
Class: structure

Structure definition representation.

Note that this may not include structures that are defined as :VECTOR types.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

type.

Direct methods
Class: symbol-macro

Symbol-macro definition representation.

Note that this is not discoverable portably.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

variable.

Direct methods
Class: transform

Transform definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

sbcl.lisp.

Direct superclasses

global-definition.

Direct methods
Direct slots
Slot: transform
Initargs

:transform

Readers

object.

Writers

This slot is read-only.

Class: type

Superclass that represents type definitions.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

global-definition.

Direct subclasses
Direct methods
Class: type-definition

Type definition representation.

Note that this is not discoverable portably. Note that this is only for TYPEDEF-defined types.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

type.

Direct methods
Class: variable

Superclass that represents variable definitions.

See GLOBAL-DEFINITION

Package

definitions.

Source

base-types.lisp.

Direct superclasses

global-definition.

Direct subclasses
Direct methods
Class: vop

VOP definition representation.

See GLOBAL-DEFINITION

Package

definitions.

Source

sbcl.lisp.

Direct superclasses

global-definition.

Direct methods

5.2 Internals


5.2.1 Special variables

Special Variable: *definition-resolvers*

This variable contains the map from names to definition resolver functions.

See DEFINITION-RESOLVER
See REMOVE-DEFINITION-RESOLVER

Package

definitions.

Source

protocol.lisp.


5.2.2 Macros

Macro: define-definition-introspect-type (class type)

Defines a SOURCE-LOCATION method that uses FIND-DEFINITION-SOURCES-BY-NAME.

The supplied type-name is passed on to FIND-DEFINITION-SOURCES-BY-NAME.

See SOURCE-LOCATION
See SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME

Package

definitions.

Source

sbcl.lisp.


5.2.3 Ordinary functions

Function: designator-class-p (designator)
Package

definitions.

Source

base-types.lisp.

Function: designator-condition-p (designator)
Package

definitions.

Source

base-types.lisp.

Function: designator-constant-p (designator)
Package

definitions.

Source

base-types.lisp.

Function: designator-function-p (designator)
Package

definitions.

Source

base-types.lisp.

Function: designator-generic-function-p (designator)
Package

definitions.

Source

base-types.lisp.

Function: designator-structure-p (designator)
Package

definitions.

Source

base-types.lisp.

Function: designator-symbol-macro-p (designator)
Package

definitions.

Source

base-types.lisp.

Function: transform-definition-source (source)

Translates a DEFINITION-SOURCE instance into the expected format.

See SB-INTROSPECT:DEFINITION-SOURCE

Package

definitions.

Source

sbcl.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   D   F   G   I   M   N   O   P   Q   R   S   T   U   V   W  
Index Entry  Section

(
(setf definition-resolver): Public ordinary functions
(setf object): Public generic functions
(setf object): Public generic functions
(setf object): Public generic functions
(setf object): Public generic functions
(setf object): Public generic functions
(setf object): Public generic functions
(setf object): Public generic functions

A
apropos-definitions: Public ordinary functions
arguments: Public generic functions
arguments: Public generic functions
arguments: Public generic functions
arguments: Public generic functions

B
bind: Public generic functions
bind: Public generic functions
bind: Public generic functions
bind: Public generic functions
bind: Public generic functions
bind: Public generic functions
bind: Public generic functions
bind: Public generic functions
bind: Public generic functions

D
define-definition-introspect-type: Private macros
define-definition-resolver: Public macros
define-simple-definition-resolver: Public macros
define-simple-documentation-lookup: Public macros
define-simple-object-lookup: Public macros
define-simple-type-map: Public macros
definition-p: Public generic functions
definition-p: Public generic functions
definition-resolver: Public ordinary functions
designator: Public generic functions
designator: Public generic functions
designator: Public generic functions
designator: Public generic functions
designator-class-p: Private ordinary functions
designator-condition-p: Private ordinary functions
designator-constant-p: Private ordinary functions
designator-function-p: Private ordinary functions
designator-generic-function-p: Private ordinary functions
designator-structure-p: Private ordinary functions
designator-symbol-macro-p: Private ordinary functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions
documentation: Public generic functions

F
find-definitions: Public generic functions
find-definitions: Public generic functions
find-definitions: Public generic functions
find-definitions: Public generic functions
Function, (setf definition-resolver): Public ordinary functions
Function, apropos-definitions: Public ordinary functions
Function, definition-resolver: Public ordinary functions
Function, designator-class-p: Private ordinary functions
Function, designator-condition-p: Private ordinary functions
Function, designator-constant-p: Private ordinary functions
Function, designator-function-p: Private ordinary functions
Function, designator-generic-function-p: Private ordinary functions
Function, designator-structure-p: Private ordinary functions
Function, designator-symbol-macro-p: Private ordinary functions
Function, remove-definition-resolver: Public ordinary functions
Function, transform-definition-source: Private ordinary functions

G
Generic Function, (setf object): Public generic functions
Generic Function, arguments: Public generic functions
Generic Function, bind: Public generic functions
Generic Function, definition-p: Public generic functions
Generic Function, designator: Public generic functions
Generic Function, documentation: Public generic functions
Generic Function, find-definitions: Public generic functions
Generic Function, name: Public generic functions
Generic Function, object: Public generic functions
Generic Function, package: Public generic functions
Generic Function, qualifiers: Public generic functions
Generic Function, source-location: Public generic functions
Generic Function, symbol: Public generic functions
Generic Function, type: Public generic functions
Generic Function, unbind: Public generic functions
Generic Function, visibility: Public generic functions
Generic Function, who-defines: Public generic functions

I
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods

M
Macro, define-definition-introspect-type: Private macros
Macro, define-definition-resolver: Public macros
Macro, define-simple-definition-resolver: Public macros
Macro, define-simple-documentation-lookup: Public macros
Macro, define-simple-object-lookup: Public macros
Macro, define-simple-type-map: Public macros
Method, (setf object): Public generic functions
Method, (setf object): Public generic functions
Method, (setf object): Public generic functions
Method, (setf object): Public generic functions
Method, (setf object): Public generic functions
Method, (setf object): Public generic functions
Method, arguments: Public generic functions
Method, arguments: Public generic functions
Method, arguments: Public generic functions
Method, bind: Public generic functions
Method, bind: Public generic functions
Method, bind: Public generic functions
Method, bind: Public generic functions
Method, bind: Public generic functions
Method, bind: Public generic functions
Method, bind: Public generic functions
Method, bind: Public generic functions
Method, definition-p: Public generic functions
Method, designator: Public generic functions
Method, designator: Public generic functions
Method, designator: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, documentation: Public generic functions
Method, find-definitions: Public generic functions
Method, find-definitions: Public generic functions
Method, find-definitions: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, name: Public generic functions
Method, name: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, object: Public generic functions
Method, package: Public generic functions
Method, print-object: Public standalone methods
Method, qualifiers: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, source-location: Public generic functions
Method, symbol: Public generic functions
Method, symbol: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, type: Public generic functions
Method, unbind: Public generic functions
Method, unbind: Public generic functions
Method, unbind: Public generic functions
Method, unbind: Public generic functions
Method, unbind: Public generic functions
Method, unbind: Public generic functions
Method, unbind: Public generic functions
Method, visibility: Public generic functions
Method, visibility: Public generic functions
Method, who-defines: Public generic functions

N
name: Public generic functions
name: Public generic functions
name: Public generic functions

O
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions
object: Public generic functions

P
package: Public generic functions
package: Public generic functions
print-object: Public standalone methods

Q
qualifiers: Public generic functions
qualifiers: Public generic functions

R
remove-definition-resolver: Public ordinary functions

S
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
source-location: Public generic functions
symbol: Public generic functions
symbol: Public generic functions
symbol: Public generic functions

T
transform-definition-source: Private ordinary functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions
type: Public generic functions

U
unbind: Public generic functions
unbind: Public generic functions
unbind: Public generic functions
unbind: Public generic functions
unbind: Public generic functions
unbind: Public generic functions
unbind: Public generic functions
unbind: Public generic functions

V
visibility: Public generic functions
visibility: Public generic functions
visibility: Public generic functions

W
who-defines: Public generic functions
who-defines: Public generic functions


A.4 Data types

Jump to:   A   B   C   D   F   G   I   M   O   P   S   T   V  
Index Entry  Section

A
alien-type: Public classes

B
base-types.lisp: The definitions/base-types․lisp file
binding-exists: Public conditions

C
callable: Public classes
ccl.lisp: The definitions/ccl․lisp file
clasp.lisp: The definitions/clasp․lisp file
class: Public classes
Class, alien-type: Public classes
Class, callable: Public classes
Class, class: Public classes
Class, compiler-macro: Public classes
Class, condition: Public classes
Class, constant: Public classes
Class, declaration: Public classes
Class, definition: Public classes
Class, function: Public classes
Class, generic-function: Public classes
Class, global: Public classes
Class, global-definition: Public classes
Class, ir1-convert: Public classes
Class, macro: Public classes
Class, method: Public classes
Class, method-combination: Public classes
Class, optimizer: Public classes
Class, package: Public classes
Class, setf-expander: Public classes
Class, source-transform: Public classes
Class, special-operator: Public classes
Class, special-variable: Public classes
Class, structure: Public classes
Class, symbol-macro: Public classes
Class, transform: Public classes
Class, type: Public classes
Class, type-definition: Public classes
Class, variable: Public classes
Class, vop: Public classes
compiler-macro: Public classes
condition: Public classes
Condition, binding-exists: Public conditions
constant: Public classes

D
declaration: Public classes
definition: Public classes
definitions: The definitions system
definitions: The definitions package
definitions.asd: The definitions/definitions․asd file
documentation.lisp: The definitions/documentation․lisp file

F
File, base-types.lisp: The definitions/base-types․lisp file
File, ccl.lisp: The definitions/ccl․lisp file
File, clasp.lisp: The definitions/clasp․lisp file
File, definitions.asd: The definitions/definitions․asd file
File, documentation.lisp: The definitions/documentation․lisp file
File, package.lisp: The definitions/package․lisp file
File, protocol.lisp: The definitions/protocol․lisp file
File, sbcl.lisp: The definitions/sbcl․lisp file
function: Public classes

G
generic-function: Public classes
global: Public classes
global-definition: Public classes

I
ir1-convert: Public classes

M
macro: Public classes
method: Public classes
method-combination: Public classes

O
optimizer: Public classes

P
package: Public classes
Package, definitions: The definitions package
package.lisp: The definitions/package․lisp file
protocol.lisp: The definitions/protocol․lisp file

S
sbcl.lisp: The definitions/sbcl․lisp file
setf-expander: Public classes
source-transform: Public classes
special-operator: Public classes
special-variable: Public classes
structure: Public classes
symbol-macro: Public classes
System, definitions: The definitions system

T
transform: Public classes
type: Public classes
type-definition: Public classes

V
variable: Public classes
vop: Public classes