The lisp-critic Reference Manual

This is the lisp-critic Reference Manual, version 1.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:38:10 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 lisp-critic

LISP-CRITIC - A Lisp code critiquing package.

Maintainer

CHIBA Masaomi

Author

Chris Riesbeck

License

MIT Licence

Long Description

The Lisp Critic scans your code for instances of bad Lisp programming practice. The Lisp Critic works for all Lisp code, even if there are no test cases. Use the Critic with all your code, whether it’s an exercise, an assignment, or something you invented on your own. see more - https://courses.cs.northwestern.edu/325/exercises/critic.php#critic

Version

1.1

Dependency

ckr-tables (system).

Source

lisp-critic.asd.

Child Components

2.2 ckr-tables

A utility library to ease the use of hash-tables

Maintainer

CHIBA Masaomi

Author

Chris Riesbeck

License

MIT License

Version

1.0

Source

ckr-tables.asd.

Child Component

tables.lisp (file).


3 Files

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


3.1 Lisp


3.1.1 lisp-critic/lisp-critic.asd

Source

lisp-critic.asd.

Parent Component

lisp-critic (system).

ASDF Systems

lisp-critic.


3.1.2 ckr-tables/ckr-tables.asd

Source

ckr-tables.asd.

Parent Component

ckr-tables (system).

ASDF Systems

ckr-tables.


3.1.3 lisp-critic/extend-match.lisp

Source

lisp-critic.asd.

Parent Component

lisp-critic (system).

Packages

extend-match.

Public Interface
Internals

3.1.4 lisp-critic/write-wrap.lisp

Dependency

extend-match.lisp (file).

Source

lisp-critic.asd.

Parent Component

lisp-critic (system).

Packages

write-wrap.

Public Interface

write-wrap (function).

Internals

3.1.5 lisp-critic/lisp-critic.lisp

Dependency

write-wrap.lisp (file).

Source

lisp-critic.asd.

Parent Component

lisp-critic (system).

Packages

lisp-critic.

Public Interface
Internals

3.1.6 lisp-critic/lisp-rules.lisp

Dependency

lisp-critic.lisp (file).

Source

lisp-critic.asd.

Parent Component

lisp-critic (system).


3.1.7 ckr-tables/tables.lisp

Source

ckr-tables.asd.

Parent Component

ckr-tables (system).

Packages

tables.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 extend-match

Source

extend-match.lisp.

Use List

common-lisp.

Used By List

lisp-critic.

Public Interface
Internals

4.2 tables

Source

tables.lisp.

Use List

common-lisp.

Used By List

lisp-critic.

Public Interface
Internals

4.3 lisp-critic

Source

lisp-critic.lisp.

Use List
Public Interface
Internals

4.4 write-wrap

Source

write-wrap.lisp.

Use List

common-lisp.

Used By List

lisp-critic.

Public Interface

write-wrap (function).

Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Macros

Macro: critique (form)
Package

lisp-critic.

Source

lisp-critic.lisp.

Macro: define-lisp-pattern (name pattern format-string &rest args)
Package

lisp-critic.

Source

lisp-critic.lisp.

Macro: deftable (fn)
Package

tables.

Source

tables.lisp.


5.1.2 Setf expanders

Setf Expander: (setf get-pattern) (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Reader

get-pattern (function).

Writer

t1 (function).

Setf Expander: (setf get-response) (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Reader

get-response (function).

Writer

t2 (function).


5.1.3 Ordinary functions

Function: add-extension (name type function)
Package

extend-match.

Source

extend-match.lisp.

Function: add-lisp-pattern (name pat format-string args)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: apply-critique-rule (name code)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: bind-variable (name input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: clear-critique-db ()
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: clear-table (table)
Package

tables.

Source

tables.lisp.

Function: critique-definition (defn &optional out names)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: critique-file (file &optional out names)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-pattern (&optional key)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expander for this function

(setf get-pattern).

Function: get-pattern-names ()
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-response (&optional key)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expander for this function

(setf get-response).

Function: in-table-p (key table)
Package

tables.

Source

tables.lisp.

Function: instantiate-pattern (form blist)
Package

extend-match.

Source

extend-match.lisp.

Function: lisp-critic-version (&optional n)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: map-table (fn table)
Package

tables.

Source

tables.lisp.

Function: pat-match (pat form &optional blists)
Package

extend-match.

Source

extend-match.lisp.

Function: remove-key (key table)
Package

tables.

Source

tables.lisp.

Function: remove-lisp-pattern (name)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: response-args (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: (setf response-args) (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: response-format-string (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: (setf response-format-string) (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: write-wrap (stream strng width &key indent first-indent)
Package

write-wrap.

Source

write-wrap.lisp.


5.2 Internals


5.2.1 Constants

Constant: var-prefix
Package

extend-match.

Source

extend-match.lisp.


5.2.2 Special variables

Special Variable: *critic-version*
Package

lisp-critic.

Source

lisp-critic.lisp.

Special Variable: *known-pattern-types*
Package

extend-match.

Source

extend-match.lisp.

Special Variable: *length-threshold*
Package

lisp-critic.

Source

lisp-critic.lisp.

Special Variable: *output-width*
Package

lisp-critic.

Source

lisp-critic.lisp.

Special Variable: *pattern-functions*
Package

extend-match.

Source

extend-match.lisp.

Special Variable: *pattern-types*
Package

extend-match.

Source

extend-match.lisp.

Special Variable: *tables*

Table of DEFTABLE functions.

Package

tables.

Source

tables.lisp.

Special Variable: *top-level*
Package

lisp-critic.

Source

lisp-critic.lisp.


5.2.3 Setf expanders

Setf Expander: (setf get-assigned-vars-fn) (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Reader

get-assigned-vars-fn (function).

Writer

t4 (function).

Setf Expander: (setf get-local-vars-fn) (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Reader

get-local-vars-fn (function).

Writer

t3 (function).


5.2.4 Ordinary functions

Function: add-binding (name input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: binding-value (binding)
Package

extend-match.

Source

extend-match.lisp.

Function: binding-variable (binding)
Package

extend-match.

Source

extend-match.lisp.

Function: break-pos (strng start end width)
Package

write-wrap.

Source

write-wrap.lisp.

Function: code-assigned-free-vars (code &optional env-stack)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: code-assigned-vars (code)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: code-vars (code)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: copy-critique (sequence)

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

lisp-critic.

Alias for

copy-seq.

Function: copy-response (sequence)

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

lisp-critic.

Alias for

copy-seq.

Function: critique-blist (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: (setf critique-blist) (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: critique-code (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: (setf critique-code) (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: critique-match (pat code blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: critique-name (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: (setf critique-name) (structure)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: extend-bindings (name input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: find-assigned-free-vars (code &optional env-stack)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: find-critiques (name pat code &key blists top-level)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: find-match (pat input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: generate-critiques (code names)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-assigned-vars-fn (&optional key)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expander for this function

(setf get-assigned-vars-fn).

Function: get-badness-phrase (badness)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-binding (name bindings)
Package

extend-match.

Source

extend-match.lisp.

Function: get-free-vars (vars env-stack)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-length-badness (code)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-local-vars-fn (&optional key)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expander for this function

(setf get-local-vars-fn).

Function: get-loop-vars (code)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-table (name)
Package

tables.

Source

tables.lisp.

Function: get-var (var-form)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: get-vars (vars-list)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: instantiate-cons (form blist)
Package

extend-match.

Source

extend-match.lisp.

Function: instantiate-var (form blist)
Package

extend-match.

Source

extend-match.lisp.

Function: list-count (form)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: loop-binder-p (x)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: make-critiques (name blists code)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: make-response-string (name response blist)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-and (args input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-contains (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-eql-pred (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-extension (pat form blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-match (args blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-name-contains (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-name-ends-with (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-name-starts-with (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-not (args input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-optional (args pats input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-or (args input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-predicate (args input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-repeat (args pats input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-repeat-pat (n pat pats input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-segment-extension (pats form blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-segment-variable (args pats input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-sets-free-vars (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-tail (tail name pats input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: match-too-long (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-top-level (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-user-defined-name-starts-with (args input blists)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: match-variable (args input blists)
Package

extend-match.

Source

extend-match.lisp.

Function: new-critique (name blist code)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: new-response (format-string args)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: pat-extension-p (pat)
Package

extend-match.

Source

extend-match.lisp.

Function: pat-function (name)
Setf Expander: (setf pat-function) (name)
Package

extend-match.

Source

extend-match.lisp.

Function: pat-type (name)
Setf Expander: (setf pat-type) (name)
Package

extend-match.

Source

extend-match.lisp.

Function: pat-var-name (pat)
Package

extend-match.

Source

extend-match.lisp.

Function: pat-var-p (form)
Package

extend-match.

Source

extend-match.lisp.

Function: prefix-p (seq1 seq2 &key test)
Package

extend-match.

Source

extend-match.lisp.

Function: print-critique-response (critique &optional stream)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: print-critique-responses (critiques &optional stream)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: print-separator (&optional stream ch)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: remove-local-vars (vars code-env)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: segment-pat-extension-p (pat)
Package

extend-match.

Source

extend-match.lisp.

Function: segment-pat-var-p (form)
Package

extend-match.

Source

extend-match.lisp.

Function: set-table (name table)
Package

tables.

Source

tables.lisp.

Function: single-pat-var-p (form)
Package

extend-match.

Source

extend-match.lisp.

Function: standard-symbolp (sym)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: string-ends-with (str substr)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: string-starts-with-p (str substr)
Package

lisp-critic.

Source

lisp-critic.lisp.

Function: t1 (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expanders to this function

(setf get-pattern).

Function: t2 (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expanders to this function

(setf get-response).

Function: t3 (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expanders to this function

(setf get-local-vars-fn).

Function: t4 (arg1 &optional arg2)
Package

lisp-critic.

Source

lisp-critic.lisp.

Setf expanders to this function

(setf get-assigned-vars-fn).

Function: var-type-name-p (pat)
Package

extend-match.

Source

extend-match.lisp.

Function: whitespace-p (ch)
Package

write-wrap.

Source

write-wrap.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   I   L   M   N   P   R   S   T   V   W  
Index Entry  Section

(
(setf critique-blist): Private ordinary functions
(setf critique-code): Private ordinary functions
(setf critique-name): Private ordinary functions
(setf get-assigned-vars-fn): Private setf expanders
(setf get-local-vars-fn): Private setf expanders
(setf get-pattern): Public setf expanders
(setf get-response): Public setf expanders
(setf pat-function): Private ordinary functions
(setf pat-type): Private ordinary functions
(setf response-args): Public ordinary functions
(setf response-format-string): Public ordinary functions

A
add-binding: Private ordinary functions
add-extension: Public ordinary functions
add-lisp-pattern: Public ordinary functions
apply-critique-rule: Public ordinary functions

B
bind-variable: Public ordinary functions
binding-value: Private ordinary functions
binding-variable: Private ordinary functions
break-pos: Private ordinary functions

C
clear-critique-db: Public ordinary functions
clear-table: Public ordinary functions
code-assigned-free-vars: Private ordinary functions
code-assigned-vars: Private ordinary functions
code-vars: Private ordinary functions
copy-critique: Private ordinary functions
copy-response: Private ordinary functions
critique: Public macros
critique-blist: Private ordinary functions
critique-code: Private ordinary functions
critique-definition: Public ordinary functions
critique-file: Public ordinary functions
critique-match: Private ordinary functions
critique-name: Private ordinary functions

D
define-lisp-pattern: Public macros
deftable: Public macros

E
extend-bindings: Private ordinary functions

F
find-assigned-free-vars: Private ordinary functions
find-critiques: Private ordinary functions
find-match: Private ordinary functions
Function, (setf critique-blist): Private ordinary functions
Function, (setf critique-code): Private ordinary functions
Function, (setf critique-name): Private ordinary functions
Function, (setf response-args): Public ordinary functions
Function, (setf response-format-string): Public ordinary functions
Function, add-binding: Private ordinary functions
Function, add-extension: Public ordinary functions
Function, add-lisp-pattern: Public ordinary functions
Function, apply-critique-rule: Public ordinary functions
Function, bind-variable: Public ordinary functions
Function, binding-value: Private ordinary functions
Function, binding-variable: Private ordinary functions
Function, break-pos: Private ordinary functions
Function, clear-critique-db: Public ordinary functions
Function, clear-table: Public ordinary functions
Function, code-assigned-free-vars: Private ordinary functions
Function, code-assigned-vars: Private ordinary functions
Function, code-vars: Private ordinary functions
Function, copy-critique: Private ordinary functions
Function, copy-response: Private ordinary functions
Function, critique-blist: Private ordinary functions
Function, critique-code: Private ordinary functions
Function, critique-definition: Public ordinary functions
Function, critique-file: Public ordinary functions
Function, critique-match: Private ordinary functions
Function, critique-name: Private ordinary functions
Function, extend-bindings: Private ordinary functions
Function, find-assigned-free-vars: Private ordinary functions
Function, find-critiques: Private ordinary functions
Function, find-match: Private ordinary functions
Function, generate-critiques: Private ordinary functions
Function, get-assigned-vars-fn: Private ordinary functions
Function, get-badness-phrase: Private ordinary functions
Function, get-binding: Private ordinary functions
Function, get-free-vars: Private ordinary functions
Function, get-length-badness: Private ordinary functions
Function, get-local-vars-fn: Private ordinary functions
Function, get-loop-vars: Private ordinary functions
Function, get-pattern: Public ordinary functions
Function, get-pattern-names: Public ordinary functions
Function, get-response: Public ordinary functions
Function, get-table: Private ordinary functions
Function, get-var: Private ordinary functions
Function, get-vars: Private ordinary functions
Function, in-table-p: Public ordinary functions
Function, instantiate-cons: Private ordinary functions
Function, instantiate-pattern: Public ordinary functions
Function, instantiate-var: Private ordinary functions
Function, lisp-critic-version: Public ordinary functions
Function, list-count: Private ordinary functions
Function, loop-binder-p: Private ordinary functions
Function, make-critiques: Private ordinary functions
Function, make-response-string: Private ordinary functions
Function, map-table: Public ordinary functions
Function, match-and: Private ordinary functions
Function, match-contains: Private ordinary functions
Function, match-eql-pred: Private ordinary functions
Function, match-extension: Private ordinary functions
Function, match-match: Private ordinary functions
Function, match-name-contains: Private ordinary functions
Function, match-name-ends-with: Private ordinary functions
Function, match-name-starts-with: Private ordinary functions
Function, match-not: Private ordinary functions
Function, match-optional: Private ordinary functions
Function, match-or: Private ordinary functions
Function, match-predicate: Private ordinary functions
Function, match-repeat: Private ordinary functions
Function, match-repeat-pat: Private ordinary functions
Function, match-segment-extension: Private ordinary functions
Function, match-segment-variable: Private ordinary functions
Function, match-sets-free-vars: Private ordinary functions
Function, match-tail: Private ordinary functions
Function, match-too-long: Private ordinary functions
Function, match-top-level: Private ordinary functions
Function, match-user-defined-name-starts-with: Private ordinary functions
Function, match-variable: Private ordinary functions
Function, new-critique: Private ordinary functions
Function, new-response: Private ordinary functions
Function, pat-extension-p: Private ordinary functions
Function, pat-function: Private ordinary functions
Function, pat-match: Public ordinary functions
Function, pat-type: Private ordinary functions
Function, pat-var-name: Private ordinary functions
Function, pat-var-p: Private ordinary functions
Function, prefix-p: Private ordinary functions
Function, print-critique-response: Private ordinary functions
Function, print-critique-responses: Private ordinary functions
Function, print-separator: Private ordinary functions
Function, remove-key: Public ordinary functions
Function, remove-lisp-pattern: Public ordinary functions
Function, remove-local-vars: Private ordinary functions
Function, response-args: Public ordinary functions
Function, response-format-string: Public ordinary functions
Function, segment-pat-extension-p: Private ordinary functions
Function, segment-pat-var-p: Private ordinary functions
Function, set-table: Private ordinary functions
Function, single-pat-var-p: Private ordinary functions
Function, standard-symbolp: Private ordinary functions
Function, string-ends-with: Private ordinary functions
Function, string-starts-with-p: Private ordinary functions
Function, t1: Private ordinary functions
Function, t2: Private ordinary functions
Function, t3: Private ordinary functions
Function, t4: Private ordinary functions
Function, var-type-name-p: Private ordinary functions
Function, whitespace-p: Private ordinary functions
Function, write-wrap: Public ordinary functions

G
generate-critiques: Private ordinary functions
get-assigned-vars-fn: Private ordinary functions
get-badness-phrase: Private ordinary functions
get-binding: Private ordinary functions
get-free-vars: Private ordinary functions
get-length-badness: Private ordinary functions
get-local-vars-fn: Private ordinary functions
get-loop-vars: Private ordinary functions
get-pattern: Public ordinary functions
get-pattern-names: Public ordinary functions
get-response: Public ordinary functions
get-table: Private ordinary functions
get-var: Private ordinary functions
get-vars: Private ordinary functions

I
in-table-p: Public ordinary functions
instantiate-cons: Private ordinary functions
instantiate-pattern: Public ordinary functions
instantiate-var: Private ordinary functions

L
lisp-critic-version: Public ordinary functions
list-count: Private ordinary functions
loop-binder-p: Private ordinary functions

M
Macro, critique: Public macros
Macro, define-lisp-pattern: Public macros
Macro, deftable: Public macros
make-critiques: Private ordinary functions
make-response-string: Private ordinary functions
map-table: Public ordinary functions
match-and: Private ordinary functions
match-contains: Private ordinary functions
match-eql-pred: Private ordinary functions
match-extension: Private ordinary functions
match-match: Private ordinary functions
match-name-contains: Private ordinary functions
match-name-ends-with: Private ordinary functions
match-name-starts-with: Private ordinary functions
match-not: Private ordinary functions
match-optional: Private ordinary functions
match-or: Private ordinary functions
match-predicate: Private ordinary functions
match-repeat: Private ordinary functions
match-repeat-pat: Private ordinary functions
match-segment-extension: Private ordinary functions
match-segment-variable: Private ordinary functions
match-sets-free-vars: Private ordinary functions
match-tail: Private ordinary functions
match-too-long: Private ordinary functions
match-top-level: Private ordinary functions
match-user-defined-name-starts-with: Private ordinary functions
match-variable: Private ordinary functions

N
new-critique: Private ordinary functions
new-response: Private ordinary functions

P
pat-extension-p: Private ordinary functions
pat-function: Private ordinary functions
pat-match: Public ordinary functions
pat-type: Private ordinary functions
pat-var-name: Private ordinary functions
pat-var-p: Private ordinary functions
prefix-p: Private ordinary functions
print-critique-response: Private ordinary functions
print-critique-responses: Private ordinary functions
print-separator: Private ordinary functions

R
remove-key: Public ordinary functions
remove-lisp-pattern: Public ordinary functions
remove-local-vars: Private ordinary functions
response-args: Public ordinary functions
response-format-string: Public ordinary functions

S
segment-pat-extension-p: Private ordinary functions
segment-pat-var-p: Private ordinary functions
set-table: Private ordinary functions
Setf Expander, (setf get-assigned-vars-fn): Private setf expanders
Setf Expander, (setf get-local-vars-fn): Private setf expanders
Setf Expander, (setf get-pattern): Public setf expanders
Setf Expander, (setf get-response): Public setf expanders
Setf Expander, (setf pat-function): Private ordinary functions
Setf Expander, (setf pat-type): Private ordinary functions
single-pat-var-p: Private ordinary functions
standard-symbolp: Private ordinary functions
string-ends-with: Private ordinary functions
string-starts-with-p: Private ordinary functions

T
t1: Private ordinary functions
t2: Private ordinary functions
t3: Private ordinary functions
t4: Private ordinary functions

V
var-type-name-p: Private ordinary functions

W
whitespace-p: Private ordinary functions
write-wrap: Public ordinary functions


A.4 Data types