The fare-quasiquote Reference Manual

This is the fare-quasiquote Reference Manual, version 1.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:23:24 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 fare-quasiquote

Portable, matchable implementation of quasiquote

Author

Francois-Rene Rideau

License

MIT

Long Description

fare-quasiquote implements
a portable quasiquote that you can control.

Version

1.0.1

Dependency

fare-utils (system)., at least version "1.0.0"

Source

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

Source

fare-quasiquote.asd.

Parent Component

fare-quasiquote (system).

ASDF Systems

fare-quasiquote.


3.1.2 fare-quasiquote/packages.lisp

Source

fare-quasiquote.asd.

Parent Component

fare-quasiquote (system).

Packages

fare-quasiquote.


3.1.3 fare-quasiquote/quasiquote.lisp

Dependency

packages.lisp (file).

Source

fare-quasiquote.asd.

Parent Component

fare-quasiquote (system).

Public Interface
Internals

3.1.4 fare-quasiquote/pp-quasiquote.lisp

Dependency

quasiquote.lisp (file).

Source

fare-quasiquote.asd.

Parent Component

fare-quasiquote (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 fare-quasiquote

Quasiquote implementation with and for pattern-matching

Source

packages.lisp.

Use List
  • common-lisp.
  • fare-utils.
  • uiop/driver.
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 Special variables

Special Variable: *fq-pprint-dispatch*
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Special Variable: *fq-readtable*
Package

fare-quasiquote.

Source

quasiquote.lisp.


5.1.2 Macros

Macro: quasiquote (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Macro: unquote (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Macro: unquote-splicing (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.


5.1.3 Ordinary functions

Function: call-with-quasiquote-reader (thunk)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: call-with-unquote-nsplicing-reader (thunk)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: call-with-unquote-reader (thunk)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: call-with-unquote-splicing-reader (thunk)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: enable-qq-pp (&key priority table)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: enable-quasiquote (&key expansion-time table)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: quasiquote-expand (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.


5.1.4 Standalone methods

Method: print-object ((x x-unquote) stream)
Source

pp-quasiquote.lisp.

Method: print-object ((x x-n-vector) stream)
Source

pp-quasiquote.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *hash-dot-reader*
Package

fare-quasiquote.

Source

quasiquote.lisp.

Special Variable: *quasiquote-level*

current depth of quasiquote nesting

Package

fare-quasiquote.

Source

quasiquote.lisp.


5.2.2 Macros

Macro: quote (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Macro: unquote-nsplicing (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.


5.2.3 Ordinary functions

Function: append (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: backquote-reader (expansion-time)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: cons (x y)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: copy-x-n-vector (instance)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: copy-x-unquote (instance)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: expand-unquote (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-append (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-append-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-cons (x y)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-cons-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-list (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-list* (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-list*-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-list-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-literal (literal)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-n-vector (n l)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-n-vector-contents (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-n-vector-n (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-n-vector-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-nconc (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: k-nconc-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: kwote (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: list (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: list* (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: make-quasiquote (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: make-unquote (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: make-unquote-nsplicing (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: make-unquote-splicing (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: make-vector (l)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: make-x-n-vector (&key n contents)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: make-x-unquote (&key form)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: n-vector (n contents)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: nconc (&rest r)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: pprint-quasiquote (stream form &rest noise)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: pprint-starts-with-dot-or-at-p (form)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: pprint-unquasiquote (stream form &rest noise)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: properly-ended-list-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: quasiquote-expand-0 (x)

Given an expression x under a backquote, return two values:
1- a token identifying the context: nil quote :literal list list* append nconc 2- a form
When combining backquoted expressions, tokens are used for simplifications.

Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: quasiquote-expand-1 (top x)

Given a top token and an expression, give the quasiquoting of the result of the top operation applied to the expression

Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: quasiquote-form-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: quasiquote-unexpand (x)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: quasiquote-unexpand-0 (top x)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: quasiquote-unexpand-1 (top x)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: quasiquote-unexpand-2 (top form)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: quasiquote-unexpand-last (x)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Function: quasiquotep (x &optional on-error)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: quotep (x &optional on-error)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-backquote (stream char)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-comma (stream char)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-hash-dot (stream subchar arg)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-hash-paren (stream subchar arg)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-macroexpand-time-backquote (stream char)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-quasiquote (stream)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-read-time-backquote (stream char)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-unquote (stream)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-unquote-nsplicing (stream)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-unquote-splicing (stream)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: read-vector (stream n)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: unquote-nsplicing-p (x &optional on-error)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: unquote-splicing-p (x &optional on-error)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: unquote-xsplicing-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: unquotep (x &optional on-error)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Function: valid-k-n-vector-p (x)
Package

fare-quasiquote.

Source

quasiquote.lisp.

Reader: x-n-vector-contents (instance)
Writer: (setf x-n-vector-contents) (instance)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Target Slot

contents.

Reader: x-n-vector-n (instance)
Writer: (setf x-n-vector-n) (instance)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Target Slot

n.

Function: x-n-vector-p (object)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Reader: x-unquote-form (instance)
Writer: (setf x-unquote-form) (instance)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Target Slot

form.

Function: x-unquote-p (object)
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.


5.2.4 Structures

Structure: x-n-vector
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: n
Readers

x-n-vector-n.

Writers

(setf x-n-vector-n).

Slot: contents
Readers

x-n-vector-contents.

Writers

(setf x-n-vector-contents).

Structure: x-unquote
Package

fare-quasiquote.

Source

pp-quasiquote.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: form
Readers

x-unquote-form.

Writers

(setf x-unquote-form).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   E   F   K   L   M   N   P   Q   R   U   V   X  
Index Entry  Section

(
(setf x-n-vector-contents): Private ordinary functions
(setf x-n-vector-n): Private ordinary functions
(setf x-unquote-form): Private ordinary functions

A
append: Private ordinary functions

B
backquote-reader: Private ordinary functions

C
call-with-quasiquote-reader: Public ordinary functions
call-with-unquote-nsplicing-reader: Public ordinary functions
call-with-unquote-reader: Public ordinary functions
call-with-unquote-splicing-reader: Public ordinary functions
cons: Private ordinary functions
copy-x-n-vector: Private ordinary functions
copy-x-unquote: Private ordinary functions

E
enable-qq-pp: Public ordinary functions
enable-quasiquote: Public ordinary functions
expand-unquote: Private ordinary functions

F
Function, (setf x-n-vector-contents): Private ordinary functions
Function, (setf x-n-vector-n): Private ordinary functions
Function, (setf x-unquote-form): Private ordinary functions
Function, append: Private ordinary functions
Function, backquote-reader: Private ordinary functions
Function, call-with-quasiquote-reader: Public ordinary functions
Function, call-with-unquote-nsplicing-reader: Public ordinary functions
Function, call-with-unquote-reader: Public ordinary functions
Function, call-with-unquote-splicing-reader: Public ordinary functions
Function, cons: Private ordinary functions
Function, copy-x-n-vector: Private ordinary functions
Function, copy-x-unquote: Private ordinary functions
Function, enable-qq-pp: Public ordinary functions
Function, enable-quasiquote: Public ordinary functions
Function, expand-unquote: Private ordinary functions
Function, k-append: Private ordinary functions
Function, k-append-p: Private ordinary functions
Function, k-cons: Private ordinary functions
Function, k-cons-p: Private ordinary functions
Function, k-list: Private ordinary functions
Function, k-list*: Private ordinary functions
Function, k-list*-p: Private ordinary functions
Function, k-list-p: Private ordinary functions
Function, k-literal: Private ordinary functions
Function, k-n-vector: Private ordinary functions
Function, k-n-vector-contents: Private ordinary functions
Function, k-n-vector-n: Private ordinary functions
Function, k-n-vector-p: Private ordinary functions
Function, k-nconc: Private ordinary functions
Function, k-nconc-p: Private ordinary functions
Function, kwote: Private ordinary functions
Function, list: Private ordinary functions
Function, list*: Private ordinary functions
Function, make-quasiquote: Private ordinary functions
Function, make-unquote: Private ordinary functions
Function, make-unquote-nsplicing: Private ordinary functions
Function, make-unquote-splicing: Private ordinary functions
Function, make-vector: Private ordinary functions
Function, make-x-n-vector: Private ordinary functions
Function, make-x-unquote: Private ordinary functions
Function, n-vector: Private ordinary functions
Function, nconc: Private ordinary functions
Function, pprint-quasiquote: Private ordinary functions
Function, pprint-starts-with-dot-or-at-p: Private ordinary functions
Function, pprint-unquasiquote: Private ordinary functions
Function, properly-ended-list-p: Private ordinary functions
Function, quasiquote-expand: Public ordinary functions
Function, quasiquote-expand-0: Private ordinary functions
Function, quasiquote-expand-1: Private ordinary functions
Function, quasiquote-form-p: Private ordinary functions
Function, quasiquote-unexpand: Private ordinary functions
Function, quasiquote-unexpand-0: Private ordinary functions
Function, quasiquote-unexpand-1: Private ordinary functions
Function, quasiquote-unexpand-2: Private ordinary functions
Function, quasiquote-unexpand-last: Private ordinary functions
Function, quasiquotep: Private ordinary functions
Function, quotep: Private ordinary functions
Function, read-backquote: Private ordinary functions
Function, read-comma: Private ordinary functions
Function, read-hash-dot: Private ordinary functions
Function, read-hash-paren: Private ordinary functions
Function, read-macroexpand-time-backquote: Private ordinary functions
Function, read-quasiquote: Private ordinary functions
Function, read-read-time-backquote: Private ordinary functions
Function, read-unquote: Private ordinary functions
Function, read-unquote-nsplicing: Private ordinary functions
Function, read-unquote-splicing: Private ordinary functions
Function, read-vector: Private ordinary functions
Function, unquote-nsplicing-p: Private ordinary functions
Function, unquote-splicing-p: Private ordinary functions
Function, unquote-xsplicing-p: Private ordinary functions
Function, unquotep: Private ordinary functions
Function, valid-k-n-vector-p: Private ordinary functions
Function, x-n-vector-contents: Private ordinary functions
Function, x-n-vector-n: Private ordinary functions
Function, x-n-vector-p: Private ordinary functions
Function, x-unquote-form: Private ordinary functions
Function, x-unquote-p: Private ordinary functions

K
k-append: Private ordinary functions
k-append-p: Private ordinary functions
k-cons: Private ordinary functions
k-cons-p: Private ordinary functions
k-list: Private ordinary functions
k-list*: Private ordinary functions
k-list*-p: Private ordinary functions
k-list-p: Private ordinary functions
k-literal: Private ordinary functions
k-n-vector: Private ordinary functions
k-n-vector-contents: Private ordinary functions
k-n-vector-n: Private ordinary functions
k-n-vector-p: Private ordinary functions
k-nconc: Private ordinary functions
k-nconc-p: Private ordinary functions
kwote: Private ordinary functions

L
list: Private ordinary functions
list*: Private ordinary functions

M
Macro, quasiquote: Public macros
Macro, quote: Private macros
Macro, unquote: Public macros
Macro, unquote-nsplicing: Private macros
Macro, unquote-splicing: Public macros
make-quasiquote: Private ordinary functions
make-unquote: Private ordinary functions
make-unquote-nsplicing: Private ordinary functions
make-unquote-splicing: Private ordinary functions
make-vector: Private ordinary functions
make-x-n-vector: Private ordinary functions
make-x-unquote: Private ordinary functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods

N
n-vector: Private ordinary functions
nconc: Private ordinary functions

P
pprint-quasiquote: Private ordinary functions
pprint-starts-with-dot-or-at-p: Private ordinary functions
pprint-unquasiquote: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
properly-ended-list-p: Private ordinary functions

Q
quasiquote: Public macros
quasiquote-expand: Public ordinary functions
quasiquote-expand-0: Private ordinary functions
quasiquote-expand-1: Private ordinary functions
quasiquote-form-p: Private ordinary functions
quasiquote-unexpand: Private ordinary functions
quasiquote-unexpand-0: Private ordinary functions
quasiquote-unexpand-1: Private ordinary functions
quasiquote-unexpand-2: Private ordinary functions
quasiquote-unexpand-last: Private ordinary functions
quasiquotep: Private ordinary functions
quote: Private macros
quotep: Private ordinary functions

R
read-backquote: Private ordinary functions
read-comma: Private ordinary functions
read-hash-dot: Private ordinary functions
read-hash-paren: Private ordinary functions
read-macroexpand-time-backquote: Private ordinary functions
read-quasiquote: Private ordinary functions
read-read-time-backquote: Private ordinary functions
read-unquote: Private ordinary functions
read-unquote-nsplicing: Private ordinary functions
read-unquote-splicing: Private ordinary functions
read-vector: Private ordinary functions

U
unquote: Public macros
unquote-nsplicing: Private macros
unquote-nsplicing-p: Private ordinary functions
unquote-splicing: Public macros
unquote-splicing-p: Private ordinary functions
unquote-xsplicing-p: Private ordinary functions
unquotep: Private ordinary functions

V
valid-k-n-vector-p: Private ordinary functions

X
x-n-vector-contents: Private ordinary functions
x-n-vector-n: Private ordinary functions
x-n-vector-p: Private ordinary functions
x-unquote-form: Private ordinary functions
x-unquote-p: Private ordinary functions