The expanders Reference Manual

This is the expanders Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Jul 13 20:20:55 2025 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 expanders

Tool for defining expanders.

Author

Héctor Galbis Sanchis

License

MIT

Dependency

alexandria (system).

Source

expanders.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 expanders/src

Source

expanders.asd.

Parent Component

expanders (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 expanders/expanders.asd

Source

expanders.asd.

Parent Component

expanders (system).

ASDF Systems

expanders.


4.1.2 expanders/src/package.lisp

Source

expanders.asd.

Parent Component

src (module).

Packages

expanders.


4.1.3 expanders/src/expanders.lisp

Source

expanders.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 expanders

Source

package.lisp.

Nickname

exp

Use List
  • alexandria.
  • common-lisp.
Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Macros

Macro: defexpander (sym)

Defines an expander represented by the symbol SYM.

Package

expanders.

Source

expanders.lisp.

Macro: defexpansion (expander name (&rest args) &body body)

Defines an expansion for the expander EXPANDER. NAME must be a symbol denoting the new expansion. ARGS is a destructuring lambda list. This must return the desired expansion for NAME and EXPANDER.

Package

expanders.

Source

expanders.lisp.


6.1.2 Ordinary functions

Function: expand (expander form)

Expands a form using an expander. FORM must be a list starting with a valid expansion symbol for the expander EXPANDER.

Package

expanders.

Source

expanders.lisp.

Function: expanderp (sym)

Check if a symbol denotes an expander.

Package

expanders.

Source

expanders.lisp.

Function: expansionp (expander expansion)

Checks if EXPANSION is a valid expansion for the expander EXPANDER. EXPANDER must be a valid expander.

Package

expanders.

Source

expanders.lisp.


6.2 Internals


6.2.1 Constants

Constant: +expander-prop+
Package

expanders.

Source

expanders.lisp.


6.2.2 Ordinary functions

Function: copy-expander-info (instance)
Package

expanders.

Source

expanders.lisp.

Reader: expander-info-docstring (instance)
Writer: (setf expander-info-docstring) (instance)
Package

expanders.

Source

expanders.lisp.

Target Slot

docstring.

Reader: expander-info-func (instance)
Writer: (setf expander-info-func) (instance)
Package

expanders.

Source

expanders.lisp.

Target Slot

func.

Function: expander-info-p (object)
Package

expanders.

Source

expanders.lisp.

Function: extract-docstring (body)

Returns the docstring and the body without that docstring.

Package

expanders.

Source

expanders.lisp.

Function: make-expander-info (&key docstring func)
Package

expanders.

Source

expanders.lisp.


6.2.3 Structures

Structure: expander-info
Package

expanders.

Source

expanders.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: docstring
Readers

expander-info-docstring.

Writers

(setf expander-info-docstring).

Slot: func
Readers

expander-info-func.

Writers

(setf expander-info-func).


Appendix A Indexes


A.1 Concepts


A.3 Variables