The macrodynamics Reference Manual

This is the macrodynamics Reference Manual, version 0.1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:12:28 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 macrodynamics

A language extension for creating bindings scoped to the entire expansion process of a region of code.

Author

Kyle Littler

Home Page

https://github.com/DalekBaldwin/macrodynamics

License

LLGPL

Version

0.1.1

Dependency

alexandria (system).

Source

macrodynamics.asd.

Child Component

src (module).


3 Modules

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


3.1 macrodynamics/src

Source

macrodynamics.asd.

Parent Component

macrodynamics (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 macrodynamics/macrodynamics.asd

Source

macrodynamics.asd.

Parent Component

macrodynamics (system).

ASDF Systems

macrodynamics.


4.1.2 macrodynamics/src/package.lisp

Source

macrodynamics.asd.

Parent Component

src (module).

Packages

macrodynamics.

Internals

*system-directory* (special variable).


4.1.3 macrodynamics/src/util.lisp

Dependency

package.lisp (file).

Source

macrodynamics.asd.

Parent Component

src (module).

Internals

4.1.4 macrodynamics/src/macrodynamics.lisp

Dependency

util.lisp (file).

Source

macrodynamics.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 macrodynamics

Source

package.lisp.

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: ct-flet (definitions &body body)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: ct-let (bindings &body body)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: ct-let* (bindings &body body)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: def-dynenv-fun (name args &body body)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: def-dynenv-macro (name lambda-list &body body)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: def-dynenv-var (var &optional val)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: def-unbound-dynenv-fun (name)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: dynenv-function (name)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: dynenv-macrolet (definitions &body body)
Package

macrodynamics.

Source

macrodynamics.lisp.

Macro: with-dynenv (environment &body body)

Macro for capturing a dynenv within another macro’s body.

Package

macrodynamics.

Source

macrodynamics.lisp.


6.1.2 Conditions

Condition: unbound-dynenv-macro-fun
Package

macrodynamics.

Source

macrodynamics.lisp.

Direct superclasses

condition.

Direct methods
Direct slots
Slot: fun
Initargs

:fun

Readers

fun.

Writers

(setf fun).

Condition: unbound-dynenv-macro-var
Package

macrodynamics.

Source

macrodynamics.lisp.

Direct superclasses

condition.

Direct methods
Direct slots
Slot: var
Initargs

:var

Readers

var.

Writers

(setf var).


6.2 Internals


6.2.1 Special variables

Special Variable: *eval-phases*
Package

macrodynamics.

Source

macrodynamics.lisp.

Special Variable: *fun-space*
Package

macrodynamics.

Source

macrodynamics.lisp.

Special Variable: *system-directory*
Package

macrodynamics.

Source

package.lisp.

Special Variable: *unbound*
Package

macrodynamics.

Source

macrodynamics.lisp.

Special Variable: *var-space*
Package

macrodynamics.

Source

macrodynamics.lisp.

Special Variable: *within-captured-dynenv*
Package

macrodynamics.

Source

macrodynamics.lisp.


6.2.2 Symbol macros

Symbol Macro: -unbound-
Package

macrodynamics.

Source

macrodynamics.lisp.


6.2.3 Ordinary functions

Function: dynenv-function% (symbol)
Package

macrodynamics.

Source

macrodynamics.lisp.

Function: get-assoc (item alist &rest keys &key key test test-not)

Like ASSOC but returns the cdr instead of the whole matching cons and a second value indicating success or failure.

Package

macrodynamics.

Source

util.lisp.

Function: get-dynenv-var (var)
Package

macrodynamics.

Source

macrodynamics.lisp.

Function: (setf get-dynenv-var) (var)
Package

macrodynamics.

Source

macrodynamics.lisp.

Function: update-alist (item value alist)

Non-destructively replace cdr of the cons whose car matches ITEM in ALIST with VALUE, or insert a new cons if no car matches ITEM.

Package

macrodynamics.

Source

util.lisp.


6.2.4 Generic functions

Generic Reader: fun (condition)
Generic Writer: (setf fun) (condition)
Package

macrodynamics.

Methods
Reader Method: fun ((condition unbound-dynenv-macro-fun))
Writer Method: (setf fun) ((condition unbound-dynenv-macro-fun))
Source

macrodynamics.lisp.

Target Slot

fun.

Generic Reader: var (condition)
Generic Writer: (setf var) (condition)
Package

macrodynamics.

Methods
Reader Method: var ((condition unbound-dynenv-macro-var))
Writer Method: (setf var) ((condition unbound-dynenv-macro-var))
Source

macrodynamics.lisp.

Target Slot

var.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
C   D   F   G   M   U   V   W  
Index Entry  Section

(
(setf fun): Private generic functions
(setf fun): Private generic functions
(setf get-dynenv-var): Private ordinary functions
(setf var): Private generic functions
(setf var): Private generic functions

C
ct-flet: Public macros
ct-let: Public macros
ct-let*: Public macros

D
def-dynenv-fun: Public macros
def-dynenv-macro: Public macros
def-dynenv-var: Public macros
def-unbound-dynenv-fun: Public macros
dynenv-function: Public macros
dynenv-function%: Private ordinary functions
dynenv-macrolet: Public macros

F
fun: Private generic functions
fun: Private generic functions
Function, (setf get-dynenv-var): Private ordinary functions
Function, dynenv-function%: Private ordinary functions
Function, get-assoc: Private ordinary functions
Function, get-dynenv-var: Private ordinary functions
Function, update-alist: Private ordinary functions

G
Generic Function, (setf fun): Private generic functions
Generic Function, (setf var): Private generic functions
Generic Function, fun: Private generic functions
Generic Function, var: Private generic functions
get-assoc: Private ordinary functions
get-dynenv-var: Private ordinary functions

M
Macro, ct-flet: Public macros
Macro, ct-let: Public macros
Macro, ct-let*: Public macros
Macro, def-dynenv-fun: Public macros
Macro, def-dynenv-macro: Public macros
Macro, def-dynenv-var: Public macros
Macro, def-unbound-dynenv-fun: Public macros
Macro, dynenv-function: Public macros
Macro, dynenv-macrolet: Public macros
Macro, with-dynenv: Public macros
Method, (setf fun): Private generic functions
Method, (setf var): Private generic functions
Method, fun: Private generic functions
Method, var: Private generic functions

U
update-alist: Private ordinary functions

V
var: Private generic functions
var: Private generic functions

W
with-dynenv: Public macros