The quasiquote-2.0 Reference Manual

This is the quasiquote-2.0 Reference Manual, version 0.3, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sat Dec 03 23:00:54 2022 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 quasiquote-2.0

Writing macros that write macros. Effortless.

Author

Alexandr Popolitov <>

License

MIT

Version

0.3

Dependency

iterate (system).

Source

quasiquote-2.0.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 quasiquote-2.0/quasiquote-2.0.asd

Source

quasiquote-2.0.asd.

Parent Component

quasiquote-2.0 (system).

ASDF Systems

quasiquote-2.0.

Packages

quasiquote-2.0-system.


3.1.2 quasiquote-2.0/package.lisp

Source

quasiquote-2.0.asd.

Parent Component

quasiquote-2.0 (system).

Packages

quasiquote-2.0.


3.1.3 quasiquote-2.0/quasiquote-2.0.lisp

Dependency

package.lisp (file).

Source

quasiquote-2.0.asd.

Parent Component

quasiquote-2.0 (system).

Public Interface
Internals

3.1.4 quasiquote-2.0/macros.lisp

Dependency

quasiquote-2.0.lisp (file).

Source

quasiquote-2.0.asd.

Parent Component

quasiquote-2.0 (system).

Public Interface
Internals

define-dig-like-macro (macro).


3.1.5 quasiquote-2.0/readers.lisp

Dependency

macros.lisp (file).

Source

quasiquote-2.0.asd.

Parent Component

quasiquote-2.0 (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 quasiquote-2.0

Source

package.lisp.

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

4.2 quasiquote-2.0-system

Source

quasiquote-2.0.asd.

Use List
  • asdf/interface.
  • common-lisp.

5 Definitions

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


5.1 Public Interface


5.1.1 Macros

Macro: dig (n-or-form &optional form)
Package

quasiquote-2.0.

Source

macros.lisp.

Macro: disable-quasiquote-2.0 ()
Package

quasiquote-2.0.

Source

readers.lisp.

Macro: enable-quasiquote-2.0 ()
Package

quasiquote-2.0.

Source

readers.lisp.

Macro: inject (n-or-form &optional form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Macro: macro-inject (n-or-form &optional form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Macro: odig (n-or-form &optional form)
Package

quasiquote-2.0.

Source

macros.lisp.

Macro: oinject (n-or-form &optional form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Macro: osplice (n-or-form &optional form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Macro: splice (n-or-form &optional form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.


5.1.2 Ordinary functions

Function: %codewalk-dig-form (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: transform-dig-form (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *depth*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *env*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *injectors*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *known-diggers*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *known-injectors*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *known-macro-injectors*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *known-splicers*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *macro-handlers*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *opaque-injectors*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *previous-readtables*
Package

quasiquote-2.0.

Source

readers.lisp.

Special Variable: *void-elt*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Special Variable: *void-filter-needed*
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.


5.2.2 Macros

Macro: define-dig-like-macro (name)
Package

quasiquote-2.0.

Source

macros.lisp.

Macro: define-dig-reader (name symbol)
Package

quasiquote-2.0.

Source

readers.lisp.

Macro: define-nonsense-when-bare (name)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Macro: make-list-form (o!-n form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Macro: nonsense-error (str)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.


5.2.3 Ordinary functions

Function: %disable-quasiquote-2.0 ()
Package

quasiquote-2.0.

Source

readers.lisp.

Function: %enable-quasiquote-2.0 ()
Package

quasiquote-2.0.

Source

readers.lisp.

Function: codewalk-dig-form (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: dig-form-p (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: dig-reader (stream char)
Package

quasiquote-2.0.

Source

readers.lisp.

Function: expect-char (char stream)
Package

quasiquote-2.0.

Source

readers.lisp.

Function: filter-out-voids (lst void-sym)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: get-macro-handler (sym)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: guess-injector-name (opaque-p macro-p all-p splicing-p)
Package

quasiquote-2.0.

Source

readers.lisp.

Function: handle-macro-1 (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: handle-macro-all (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: inject-reader (stream char)
Package

quasiquote-2.0.

Source

readers.lisp.

Function: injector-form-p (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: injector-level (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: injector-subform (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: look-into-dig (form path)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: look-into-injector (form path)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: macro-injector-p (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: macroexpand-macroinjector (place)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: mk-splicing-injector-let (x)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: mk-splicing-injector-setf (path g!-list g!-splicee)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: odig-reader (stream char)
Package

quasiquote-2.0.

Source

readers.lisp.

Function: path->setfable (path var)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: read-n-chars (stream char)
Package

quasiquote-2.0.

Source

readers.lisp.

Function: really-transform-dig-form (the-form site-paths)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: reset-injectors ()
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: search-all-active-sites (form path toplevel-p)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: splicing-injector (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: transparent-p (form)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.

Function: tree->cons-code (tree)
Package

quasiquote-2.0.

Source

quasiquote-2.0.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %  
C   D   E   F   G   H   I   L   M   N   O   P   R   S   T  
Index Entry  Section

%
%codewalk-dig-form: Public ordinary functions
%disable-quasiquote-2.0: Private ordinary functions
%enable-quasiquote-2.0: Private ordinary functions

C
codewalk-dig-form: Private ordinary functions

D
define-dig-like-macro: Private macros
define-dig-reader: Private macros
define-nonsense-when-bare: Private macros
dig: Public macros
dig-form-p: Private ordinary functions
dig-reader: Private ordinary functions
disable-quasiquote-2.0: Public macros

E
enable-quasiquote-2.0: Public macros
expect-char: Private ordinary functions

F
filter-out-voids: Private ordinary functions
Function, %codewalk-dig-form: Public ordinary functions
Function, %disable-quasiquote-2.0: Private ordinary functions
Function, %enable-quasiquote-2.0: Private ordinary functions
Function, codewalk-dig-form: Private ordinary functions
Function, dig-form-p: Private ordinary functions
Function, dig-reader: Private ordinary functions
Function, expect-char: Private ordinary functions
Function, filter-out-voids: Private ordinary functions
Function, get-macro-handler: Private ordinary functions
Function, guess-injector-name: Private ordinary functions
Function, handle-macro-1: Private ordinary functions
Function, handle-macro-all: Private ordinary functions
Function, inject-reader: Private ordinary functions
Function, injector-form-p: Private ordinary functions
Function, injector-level: Private ordinary functions
Function, injector-subform: Private ordinary functions
Function, look-into-dig: Private ordinary functions
Function, look-into-injector: Private ordinary functions
Function, macro-injector-p: Private ordinary functions
Function, macroexpand-macroinjector: Private ordinary functions
Function, mk-splicing-injector-let: Private ordinary functions
Function, mk-splicing-injector-setf: Private ordinary functions
Function, odig-reader: Private ordinary functions
Function, path->setfable: Private ordinary functions
Function, read-n-chars: Private ordinary functions
Function, really-transform-dig-form: Private ordinary functions
Function, reset-injectors: Private ordinary functions
Function, search-all-active-sites: Private ordinary functions
Function, splicing-injector: Private ordinary functions
Function, transform-dig-form: Public ordinary functions
Function, transparent-p: Private ordinary functions
Function, tree->cons-code: Private ordinary functions

G
get-macro-handler: Private ordinary functions
guess-injector-name: Private ordinary functions

H
handle-macro-1: Private ordinary functions
handle-macro-all: Private ordinary functions

I
inject: Public macros
inject-reader: Private ordinary functions
injector-form-p: Private ordinary functions
injector-level: Private ordinary functions
injector-subform: Private ordinary functions

L
look-into-dig: Private ordinary functions
look-into-injector: Private ordinary functions

M
Macro, define-dig-like-macro: Private macros
Macro, define-dig-reader: Private macros
Macro, define-nonsense-when-bare: Private macros
Macro, dig: Public macros
Macro, disable-quasiquote-2.0: Public macros
Macro, enable-quasiquote-2.0: Public macros
Macro, inject: Public macros
Macro, macro-inject: Public macros
Macro, make-list-form: Private macros
Macro, nonsense-error: Private macros
Macro, odig: Public macros
Macro, oinject: Public macros
Macro, osplice: Public macros
Macro, splice: Public macros
macro-inject: Public macros
macro-injector-p: Private ordinary functions
macroexpand-macroinjector: Private ordinary functions
make-list-form: Private macros
mk-splicing-injector-let: Private ordinary functions
mk-splicing-injector-setf: Private ordinary functions

N
nonsense-error: Private macros

O
odig: Public macros
odig-reader: Private ordinary functions
oinject: Public macros
osplice: Public macros

P
path->setfable: Private ordinary functions

R
read-n-chars: Private ordinary functions
really-transform-dig-form: Private ordinary functions
reset-injectors: Private ordinary functions

S
search-all-active-sites: Private ordinary functions
splice: Public macros
splicing-injector: Private ordinary functions

T
transform-dig-form: Public ordinary functions
transparent-p: Private ordinary functions
tree->cons-code: Private ordinary functions