The definitions Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The definitions Reference Manual

This is the definitions Reference Manual, version 1.0.0, generated automatically by Declt version 2.4 patchlevel 1 "Will Decker" on Mon Apr 08 13:55:01 2019 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

About Definitions

This system implements a general definitions introspection library. It gives you the ability to retrieve definitions or bindings associated with designators such as symbols, packages, and names in general. For instance, it allows you to retrieve all function, type, variable, method, etc. definitions of a symbol.

How To

In order to list all discoverable definitions in a package, all you need to do is call find-definitions like so:

(find-definitions "CL")

Each definition is associated with a designator that names it. Most, but not all, definitions also allow you to retrieve the object that they define. If the designator is translatable to a symbol, the definition will also give you access to the symbol, name, package, and visibility within the package. Beyond that, you can also retrieve the associated documentation and, depending on implementation support, the source-location of the definition.

Some subclasses of the general definition, like callable give you access to further information like the arguments or the qualifiers.

If you would like to fuzzily search for definitions, you can use the apropos-definitions function. Do note that this will likely return very long lists of definitions for searches that aren't very long.

Extending Definitions

Often time libraries and systems will introduce their own bindings and definitions that extend the environment. For instance, you might have a special kind of function definition that lives in its own namespace, or a particular kind of named resource. In this case it can be worthwhile to extend Definitions so that it can discover and handle information related to those definitions as well.

Adding new definition types is a matter of subclassing definition, using define-definition-resolver to handle the definition discovery, and adding methods to the relevant generic functions to provide the needed information.

Typically your definition will be a global-definition, and thus be tied to a simple designator like a symbol that will find the definition in a global namespace. The global-definition provides default implementations for symbol, name, package, and visibility, removing much of the need for duplicating those methods.

(defclass page (global-definition) ())

(define-simple-type-map page my-package:page)
(define-simple-definition-resolver page my-package:find-page)
(define-simple-object-lookup page my-package:find-page)
(define-simple-documentation-lookup page my-package:page)

The above will define a new definition type, page, and add the missing methods to it, provided that the documentation is already handled through cl:documentation on the my-package:page type, and that my-package:find-page returns the page object associated with a name. From there on out, find-definitions will pick up page definitions as well.

Depending on how your implementation tracks source information, and how well it is supported by this library, source-information might work automatically on new definition types once a suitable object method is in place. However, in general, it is not guaranteed that source tracking will be provided, let alone for definitions that are not standard.

Currently Supported Implementations

Some parts of this library such as the discovery of certain definitions, retrieval of some object bindings, and the source location tracking are implementation-specific. As such, in order to be complete, implementation-specific parts need to be written. Currently the following implementations are fully supported. Note that even if your implementation is not listed here, this library may still be useful.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 definitions

Maintainer

Nicolas Hafner <shinmera@tymoon.eu>

Author

Nicolas Hafner <shinmera@tymoon.eu>

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

Artistic

Description

General definitions reflection library.

Version

1.0.0

Dependencies
Source

definitions.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 definitions.asd

Location

definitions.asd

Systems

definitions (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 definitions/package.lisp

Parent

definitions (system)

Location

package.lisp

Packages

definitions


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 definitions/protocol.lisp

Dependency

package.lisp (file)

Parent

definitions (system)

Location

protocol.lisp

Exported Definitions
Internal Definitions

*definition-resolvers* (special variable)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 definitions/base-types.lisp

Dependency

protocol.lisp (file)

Parent

definitions (system)

Location

base-types.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 definitions/ccl.lisp

If Feature

ccl

Dependency

base-types.lisp (file)

Parent

definitions (system)

Location

ccl.lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 definitions/sbcl.lisp

If Feature

sbcl

Dependency

ccl.lisp (file)

Parent

definitions (system)

Location

sbcl.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.7 definitions/clasp.lisp

If Feature

clasp

Dependency

sbcl.lisp (file)

Parent

definitions (system)

Location

clasp.lisp


Previous: , Up: Lisp files   [Contents][Index]

3.1.8 definitions/documentation.lisp

Dependency

clasp.lisp (file)

Parent

definitions (system)

Location

documentation.lisp


Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 definitions

Source

package.lisp (file)

Nickname

org.shirakumo.definitions

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 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 (file)

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 (file)

Writer

(setf definition-resolver) (function)

Function: (setf definition-resolver) FUNCTION NAME
Package

definitions

Source

protocol.lisp (file)

Reader

definition-resolver (function)

Function: remove-definition-resolver NAME

Removes the definition resolver of the given name.

See DEFINITION-RESOLVER

Package

definitions

Source

protocol.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

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 (file)

Methods
Method: arguments (TYPE type)
Source

sbcl.lisp (file)

Method: arguments (METHOD method)
Source

sbcl.lisp (file)

Method: arguments (CALLABLE callable)
Source

sbcl.lisp (file)

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 (file)

Methods
Method: designator (PACKAGE package)
Source

base-types.lisp (file)

Method: designator (GLOBAL-DEFINITION global-definition)

automatically generated reader method

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 (file)

Methods
Method: documentation (STRUCTURE structure)
Source

base-types.lisp (file)

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

base-types.lisp (file)

Method: documentation (METHOD method)
Source

base-types.lisp (file)

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

base-types.lisp (file)

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

base-types.lisp (file)

Method: documentation (MACRO macro)
Source

base-types.lisp (file)

Method: documentation (FUNCTION function)
Source

base-types.lisp (file)

Method: documentation (PACKAGE package)
Source

base-types.lisp (file)

Method: documentation (VARIABLE variable)
Source

base-types.lisp (file)

Method: documentation (TYPE type)
Source

base-types.lisp (file)

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

base-types.lisp (file)

Method: documentation (DEFINITION global-definition)
Source

base-types.lisp (file)

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 (file)

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 (file)

Methods
Method: name (PACKAGE package)
Source

base-types.lisp (file)

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 (file)

Methods
Method: object (TRANSFORM transform)

automatically generated reader method

Source

sbcl.lisp (file)

Method: object (OPTIMIZER optimizer)

automatically generated reader method

Source

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: object (STRUCTURE structure)
Source

sbcl.lisp (file)

Method: object (CONDITION condition)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: object (CLASS class)
Source

base-types.lisp (file)

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

base-types.lisp (file)

Method: object (MACRO macro)
Source

base-types.lisp (file)

Method: object (FUNCTION function)
Source

base-types.lisp (file)

Method: object (PACKAGE package)
Source

base-types.lisp (file)

Method: object (METHOD method)

automatically generated reader method

Source

base-types.lisp (file)

Method: object (DEFINITION global-definition)
Generic Function: 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 (file)

Methods
Method: package (GLOBAL-DEFINITION global-definition)

automatically generated reader method

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 (file)

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 (file)

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

sbcl.lisp (file)

Method: source-location (VOP vop)
Source

sbcl.lisp (file)

Method: source-location (TRANSFORM transform)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: source-location (OPTIMIZER optimizer)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

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

sbcl.lisp (file)

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

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: source-location (STRUCTURE structure)
Source

sbcl.lisp (file)

Method: source-location (PACKAGE package)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: source-location (METHOD method)
Source

sbcl.lisp (file)

Method: source-location (MACRO macro)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: source-location (FUNCTION function)
Source

sbcl.lisp (file)

Method: source-location (CONSTANT constant)
Source

sbcl.lisp (file)

Method: source-location (CONDITION condition)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: source-location (CLASS class)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

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 (file)

Methods
Method: symbol (PACKAGE package)
Source

base-types.lisp (file)

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 (file)

Methods
Method: type (DECLARATION declaration)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: type (VOP vop)
Source

sbcl.lisp (file)

Method: type (TRANSFORM transform)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

Method: type (OPTIMIZER optimizer)
Source

sbcl.lisp (file)

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

sbcl.lisp (file)

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

base-types.lisp (file)

Method: type (CONSTANT constant)
Source

base-types.lisp (file)

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

base-types.lisp (file)

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

base-types.lisp (file)

Method: type (STRUCTURE structure)
Source

base-types.lisp (file)

Method: type (CONDITION condition)
Source

base-types.lisp (file)

Method: type (CLASS class)
Source

base-types.lisp (file)

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

base-types.lisp (file)

Method: type (METHOD method)
Source

base-types.lisp (file)

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

base-types.lisp (file)

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

base-types.lisp (file)

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

base-types.lisp (file)

Method: type (MACRO macro)
Source

base-types.lisp (file)

Method: type (FUNCTION function)
Source

base-types.lisp (file)

Method: type (PACKAGE package)
Source

base-types.lisp (file)

Method: type (VARIABLE variable)
Source

base-types.lisp (file)

Method: type (TYPE type)
Source

base-types.lisp (file)

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

base-types.lisp (file)

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 (file)

Methods
Method: visibility (PACKAGE package)
Source

base-types.lisp (file)

Method: visibility (DEFINITION global-definition)

Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Classes

Class: alien-type ()

Alien-type definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

sbcl.lisp (file)

Direct superclasses

global-definition (class)

Direct methods
Class: callable ()

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

See DEFINITION
See ARGUMENTS

Package

definitions

Source

protocol.lisp (file)

Direct superclasses

definition (class)

Direct subclasses
Direct methods

arguments (method)

Class: class ()

Class definition representation.

Note that this does not include conditions, or structures.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

type (class)

Direct methods
Class: compiler-macro ()

Compiler-macro definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses
Direct methods
Class: condition ()

Condition definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

type (class)

Direct methods
Class: constant ()

Constant definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

variable (class)

Direct methods
Class: declaration ()

Declaration definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

sbcl.lisp (file)

Direct superclasses

global-definition (class)

Direct methods

type (method)

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 (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods

print-object (method)

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 (file)

Direct superclasses
Direct subclasses

generic-function (class)

Direct methods
Class: generic-function ()

Generic-function definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

function (class)

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 (file)

Direct superclasses

definition (class)

Direct subclasses
Direct methods
Direct slots
Slot: designator
Initargs

:designator

Readers

designator (generic function)

Slot: package
Initargs

:package

Readers

package (generic function)

Direct Default Initargs
InitargValue
:designator(error "designator required.")
Class: ir1-convert ()

IR1-Convert definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

sbcl.lisp (file)

Direct superclasses

global-definition (class)

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 (file)

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 (file)

Direct superclasses
Direct methods
Direct slots
Slot: method
Initargs

:method

Initform

(error "method required.")

Readers

object (generic function)

Class: method-combination ()

Method-combination definition representation.

Note that this is not discoverable portably.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

global-definition (class)

Direct methods
Class: optimizer ()

Optimizer definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

sbcl.lisp (file)

Direct superclasses

global-definition (class)

Direct methods
Direct slots
Slot: optimizer
Initargs

:optimizer

Readers

object (generic function)

Class: package ()

Package definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

global-definition (class)

Direct methods
Direct slots
Slot: package
Readers

object (generic function)

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 (file)

Direct superclasses
Direct methods
Class: source-transform ()

Source-transform definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

sbcl.lisp (file)

Direct superclasses

global-definition (class)

Direct methods
Class: special-operator ()
Package

definitions

Source

base-types.lisp (file)

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 (file)

Direct superclasses

variable (class)

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 (file)

Direct superclasses

type (class)

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 (file)

Direct superclasses

variable (class)

Direct methods
Class: transform ()

Transform definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

sbcl.lisp (file)

Direct superclasses

global-definition (class)

Direct methods
Direct slots
Slot: transform
Initargs

:transform

Readers

object (generic function)

Class: type ()

Superclass that represents type definitions.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

global-definition (class)

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 (file)

Direct superclasses

type (class)

Direct methods
Class: variable ()

Superclass that represents variable definitions.

See GLOBAL-DEFINITION

Package

definitions

Source

base-types.lisp (file)

Direct superclasses

global-definition (class)

Direct subclasses
Direct methods
Class: vop ()

VOP definition representation.

See GLOBAL-DEFINITION

Package

definitions

Source

sbcl.lisp (file)

Direct superclasses

global-definition (class)

Direct methods

Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

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 (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

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 (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: designator-class-p DESIGNATOR
Package

definitions

Source

base-types.lisp (file)

Function: designator-condition-p DESIGNATOR
Package

definitions

Source

base-types.lisp (file)

Function: designator-constant-p DESIGNATOR
Package

definitions

Source

base-types.lisp (file)

Function: designator-function-p DESIGNATOR
Package

definitions

Source

base-types.lisp (file)

Function: designator-generic-function-p DESIGNATOR
Package

definitions

Source

base-types.lisp (file)

Function: designator-structure-p DESIGNATOR
Package

definitions

Source

base-types.lisp (file)

Function: transform-definition-source SOURCE

Translates a DEFINITION-SOURCE instance into the expected format.

See SB-INTROSPECT:DEFINITION-SOURCE

Package

definitions

Source

sbcl.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   D   F   L  
Index Entry  Section

D
definitions.asd: The definitions<dot>asd file
definitions/base-types.lisp: The definitions/base-types<dot>lisp file
definitions/ccl.lisp: The definitions/ccl<dot>lisp file
definitions/clasp.lisp: The definitions/clasp<dot>lisp file
definitions/documentation.lisp: The definitions/documentation<dot>lisp file
definitions/package.lisp: The definitions/package<dot>lisp file
definitions/protocol.lisp: The definitions/protocol<dot>lisp file
definitions/sbcl.lisp: The definitions/sbcl<dot>lisp file

F
File, Lisp, definitions.asd: The definitions<dot>asd file
File, Lisp, definitions/base-types.lisp: The definitions/base-types<dot>lisp file
File, Lisp, definitions/ccl.lisp: The definitions/ccl<dot>lisp file
File, Lisp, definitions/clasp.lisp: The definitions/clasp<dot>lisp file
File, Lisp, definitions/documentation.lisp: The definitions/documentation<dot>lisp file
File, Lisp, definitions/package.lisp: The definitions/package<dot>lisp file
File, Lisp, definitions/protocol.lisp: The definitions/protocol<dot>lisp file
File, Lisp, definitions/sbcl.lisp: The definitions/sbcl<dot>lisp file

L
Lisp File, definitions.asd: The definitions<dot>asd file
Lisp File, definitions/base-types.lisp: The definitions/base-types<dot>lisp file
Lisp File, definitions/ccl.lisp: The definitions/ccl<dot>lisp file
Lisp File, definitions/clasp.lisp: The definitions/clasp<dot>lisp file
Lisp File, definitions/documentation.lisp: The definitions/documentation<dot>lisp file
Lisp File, definitions/package.lisp: The definitions/package<dot>lisp file
Lisp File, definitions/protocol.lisp: The definitions/protocol<dot>lisp file
Lisp File, definitions/sbcl.lisp: The definitions/sbcl<dot>lisp file

Jump to:   D   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

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

(
(setf definition-resolver): Exported functions

A
apropos-definitions: Exported functions
arguments: Exported generic functions
arguments: Exported generic functions
arguments: Exported generic functions
arguments: Exported generic functions

D
define-definition-introspect-type: Internal macros
define-definition-resolver: Exported macros
define-simple-definition-resolver: Exported macros
define-simple-documentation-lookup: Exported macros
define-simple-object-lookup: Exported macros
define-simple-type-map: Exported macros
definition-resolver: Exported functions
designator: Exported generic functions
designator: Exported generic functions
designator: Exported generic functions
designator-class-p: Internal functions
designator-condition-p: Internal functions
designator-constant-p: Internal functions
designator-function-p: Internal functions
designator-generic-function-p: Internal functions
designator-structure-p: Internal functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions
documentation: Exported generic functions

F
find-definitions: Exported generic functions
find-definitions: Exported generic functions
find-definitions: Exported generic functions
find-definitions: Exported generic functions
Function, (setf definition-resolver): Exported functions
Function, apropos-definitions: Exported functions
Function, definition-resolver: Exported functions
Function, designator-class-p: Internal functions
Function, designator-condition-p: Internal functions
Function, designator-constant-p: Internal functions
Function, designator-function-p: Internal functions
Function, designator-generic-function-p: Internal functions
Function, designator-structure-p: Internal functions
Function, remove-definition-resolver: Exported functions
Function, transform-definition-source: Internal functions

G
Generic Function, arguments: Exported generic functions
Generic Function, designator: Exported generic functions
Generic Function, documentation: Exported generic functions
Generic Function, find-definitions: Exported generic functions
Generic Function, name: Exported generic functions
Generic Function, object: Exported generic functions
Generic Function, package: Exported generic functions
Generic Function, qualifiers: Exported generic functions
Generic Function, source-location: Exported generic functions
Generic Function, symbol: Exported generic functions
Generic Function, type: Exported generic functions
Generic Function, visibility: Exported generic functions

M
Macro, define-definition-introspect-type: Internal macros
Macro, define-definition-resolver: Exported macros
Macro, define-simple-definition-resolver: Exported macros
Macro, define-simple-documentation-lookup: Exported macros
Macro, define-simple-object-lookup: Exported macros
Macro, define-simple-type-map: Exported macros
Method, arguments: Exported generic functions
Method, arguments: Exported generic functions
Method, arguments: Exported generic functions
Method, designator: Exported generic functions
Method, designator: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, documentation: Exported generic functions
Method, find-definitions: Exported generic functions
Method, find-definitions: Exported generic functions
Method, find-definitions: Exported generic functions
Method, name: Exported generic functions
Method, name: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, object: Exported generic functions
Method, package: Exported generic functions
Method, qualifiers: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, source-location: Exported generic functions
Method, symbol: Exported generic functions
Method, symbol: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, type: Exported generic functions
Method, visibility: Exported generic functions
Method, visibility: Exported generic functions

N
name: Exported generic functions
name: Exported generic functions
name: Exported generic functions

O
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions
object: Exported generic functions

P
package: Exported generic functions
package: Exported generic functions

Q
qualifiers: Exported generic functions
qualifiers: Exported generic functions

R
remove-definition-resolver: Exported functions

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

T
transform-definition-source: Internal functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions
type: Exported generic functions

V
visibility: Exported generic functions
visibility: Exported generic functions
visibility: Exported generic functions

Jump to:   (  
A   D   F   G   M   N   O   P   Q   R   S   T   V  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
D   M   O   P   S   T  
Index Entry  Section

*
*definition-resolvers*: Internal special variables

D
designator: Exported classes

M
method: Exported classes

O
optimizer: Exported classes

P
package: Exported classes
package: Exported classes

S
Slot, designator: Exported classes
Slot, method: Exported classes
Slot, optimizer: Exported classes
Slot, package: Exported classes
Slot, package: Exported classes
Slot, transform: Exported classes
Special Variable, *definition-resolvers*: Internal special variables

T
transform: Exported classes

Jump to:   *  
D   M   O   P   S   T  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

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

A
alien-type: Exported classes

C
callable: Exported classes
class: Exported classes
Class, alien-type: Exported classes
Class, callable: Exported classes
Class, class: Exported classes
Class, compiler-macro: Exported classes
Class, condition: Exported classes
Class, constant: Exported classes
Class, declaration: Exported classes
Class, definition: Exported classes
Class, function: Exported classes
Class, generic-function: Exported classes
Class, global-definition: Exported classes
Class, ir1-convert: Exported classes
Class, macro: Exported classes
Class, method: Exported classes
Class, method-combination: Exported classes
Class, optimizer: Exported classes
Class, package: Exported classes
Class, setf-expander: Exported classes
Class, source-transform: Exported classes
Class, special-operator: Exported classes
Class, special-variable: Exported classes
Class, structure: Exported classes
Class, symbol-macro: Exported classes
Class, transform: Exported classes
Class, type: Exported classes
Class, type-definition: Exported classes
Class, variable: Exported classes
Class, vop: Exported classes
compiler-macro: Exported classes
condition: Exported classes
constant: Exported classes

D
declaration: Exported classes
definition: Exported classes
definitions: The definitions system
definitions: The definitions package

F
function: Exported classes

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

I
ir1-convert: Exported classes

M
macro: Exported classes
method: Exported classes
method-combination: Exported classes

O
optimizer: Exported classes

P
package: Exported classes
Package, definitions: The definitions package

S
setf-expander: Exported classes
source-transform: Exported classes
special-operator: Exported classes
special-variable: Exported classes
structure: Exported classes
symbol-macro: Exported classes
System, definitions: The definitions system

T
transform: Exported classes
type: Exported classes
type-definition: Exported classes

V
variable: Exported classes
vop: Exported classes

Jump to:   A   C   D   F   G   I   M   O   P   S   T   V