The com.clearly-useful.protocols Reference Manual

This is the com.clearly-useful.protocols Reference Manual, version 0.1.2, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:05:45 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 com.clearly-useful.protocols

Simple protocol implementation for Common Lisp inspired by clojure.

Author

Jason Aeschliman <>

License

revised BSD

Version

0.1.2

Dependency

iterate (system).

Source

com.clearly-useful.protocols.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 com.clearly-useful.protocols/com.clearly-useful.protocols.asd

Source

com.clearly-useful.protocols.asd.

Parent Component

com.clearly-useful.protocols (system).

ASDF Systems

com.clearly-useful.protocols.


3.1.3 com.clearly-useful.protocols/compile-time.lisp

Dependency

package.lisp (file).

Source

com.clearly-useful.protocols.asd.

Parent Component

com.clearly-useful.protocols (system).

Public Interface

make-load-form (method).

Internals

3.1.4 com.clearly-useful.protocols/load-time.lisp

Dependency

compile-time.lisp (file).

Source

com.clearly-useful.protocols.asd.

Parent Component

com.clearly-useful.protocols (system).

Public Interface

make-load-form (method).

Internals

3.1.5 com.clearly-useful.protocols/validation.lisp

Dependency

load-time.lisp (file).

Source

com.clearly-useful.protocols.asd.

Parent Component

com.clearly-useful.protocols (system).

Internals

3.1.6 com.clearly-useful.protocols/parse.lisp

Dependency

validation.lisp (file).

Source

com.clearly-useful.protocols.asd.

Parent Component

com.clearly-useful.protocols (system).

Internals

3.1.8 com.clearly-useful.protocols/interface.lisp

Dependency

codegen.lisp (file).

Source

com.clearly-useful.protocols.asd.

Parent Component

com.clearly-useful.protocols (system).


3.1.9 com.clearly-useful.protocols/protocols.lisp

Dependency

interface.lisp (file).

Source

com.clearly-useful.protocols.asd.

Parent Component

com.clearly-useful.protocols (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 com.clearly-useful.protocols

Source

package.lisp.

Use List
  • common-lisp.
  • iterate.
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 Macros

Macro: defprotocol (name &body methods)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Macro: extend-object (object &body methods)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Macro: extend-type (class &body methods)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Macro: reify (&body methods)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.


5.1.2 Ordinary functions

Function: class-implements-protocol-p (class protocol)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Function: protocol-extends-class-p (protocol class)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.


5.1.3 Standalone methods

Method: make-load-form ((p %protocol-compilation-note) &optional env)
Source

compile-time.lisp.

Method: make-load-form ((p protocol) &optional env)
Source

load-time.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: %protocol-compilation-notes%
Package

com.clearly-useful.protocols.

Source

compile-time.lisp.

Special Variable: %protocols%
Package

com.clearly-useful.protocols.

Source

load-time.lisp.


5.2.2 Macros

Macro: all (&body body)

(all x1 y1 x2 y2 ...) -> (and (or x1 y1) (or x2 y2) ...)

Package

com.clearly-useful.protocols.

Source

validation.lisp.


5.2.3 Ordinary functions

Function: %bool (o)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: %build-protocol-object (protocol methods)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: %compile-time-implements? (typename protocolname)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: %defprotocol (name body)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: %ensure-protocol-compilation-note (name)
Package

com.clearly-useful.protocols.

Source

compile-time.lisp.

Function: %extend-type (class methods)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: %find-protocol-compilation-note (name)
Package

com.clearly-useful.protocols.

Source

compile-time.lisp.

Function: (setf %find-protocol-compilation-note) (name)
Package

com.clearly-useful.protocols.

Source

compile-time.lisp.

Function: %implement-protocol-for-object (obj methods)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Function: %implements? (typename protocolname)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: copy-protocol-body (instance)
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Function: ensure-protocol (name)
Package

com.clearly-useful.protocols.

Source

load-time.lisp.

Function: find-protocol (name)
Package

com.clearly-useful.protocols.

Source

load-time.lisp.

Function: (setf find-protocol) (name)
Package

com.clearly-useful.protocols.

Source

load-time.lisp.

Function: generate-compile-time-requires (requires class name)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: generate-implements? (specializer name)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: generate-requires (requires class name)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: make-protocol-body (&key properties methods)
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Function: method-implementations (name protocol specializer methods)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Function: parse-protocol-body (methods)
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Function: partition-methods (list)
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Reader: protocol-body-methods (instance)
Writer: (setf protocol-body-methods) (instance)
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Target Slot

methods.

Function: protocol-body-p (object)
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Reader: protocol-body-properties (instance)
Writer: (setf protocol-body-properties) (instance)
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Target Slot

properties.

Function: protocol-definition (protocol unparsed-body)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-definition-defgeneric-forms (protocol-name methods properties)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-definition-eponymous-generic (name properties)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-deftype (name documentation)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-implementation (protocol thing methods)

protocol, implementation type name, method list

Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-implementation-base-method (protocol type)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-implementation-compile-time (protocol type methods)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-implementation-register (protocol specializer)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-test-function (name)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: protocol-test-name (name)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: transform-arglist (arglist specializer)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: transform-method (spec specializer)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: transform-method-to-defgeneric (protocol-name method)
Package

com.clearly-useful.protocols.

Source

codegen.lisp.

Function: valid-protocol-lambda-list-p (params)
Package

com.clearly-useful.protocols.

Source

validation.lisp.

Function: valid-protocol-method-name-p (thing)
Package

com.clearly-useful.protocols.

Source

validation.lisp.

Function: validate-defprotocol-option (list)
Package

com.clearly-useful.protocols.

Source

validation.lisp.

Function: validate-protocol-definition-methods (name methods)
Package

com.clearly-useful.protocols.

Source

validation.lisp.

Function: validate-protocol-implementation-methods (protocol type methods)
Package

com.clearly-useful.protocols.

Source

validation.lisp.


5.2.4 Generic functions

Generic Function: implements-protocol? (object protocol)
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Methods
Method: implements-protocol? (object (name symbol))
Method: implements-protocol? (object (protocol protocol))
Generic Reader: methods (object)
Package

com.clearly-useful.protocols.

Methods
Reader Method: methods ((protocol protocol))

automatically generated reader method

Source

load-time.lisp.

Target Slot

methods.

Reader Method: methods ((%protocol-compilation-note %protocol-compilation-note))

automatically generated reader method

Source

compile-time.lisp.

Target Slot

methods.

Generic Writer: (setf methods) (object)
Package

com.clearly-useful.protocols.

Methods
Writer Method: (setf methods) ((protocol protocol))

automatically generated writer method

Source

load-time.lisp.

Target Slot

methods.

Writer Method: (setf methods) ((%protocol-compilation-note %protocol-compilation-note))

automatically generated writer method

Source

compile-time.lisp.

Target Slot

methods.

Generic Reader: name (object)
Package

com.clearly-useful.protocols.

Methods
Reader Method: name ((protocol protocol))

automatically generated reader method

Source

load-time.lisp.

Target Slot

name.

Reader Method: name ((%protocol-compilation-note %protocol-compilation-note))

automatically generated reader method

Source

compile-time.lisp.

Target Slot

name.

Generic Writer: (setf name) (object)
Package

com.clearly-useful.protocols.

Methods
Writer Method: (setf name) ((protocol protocol))

automatically generated writer method

Source

load-time.lisp.

Target Slot

name.

Writer Method: (setf name) ((%protocol-compilation-note %protocol-compilation-note))

automatically generated writer method

Source

compile-time.lisp.

Target Slot

name.

Generic Reader: properties (object)
Package

com.clearly-useful.protocols.

Methods
Reader Method: properties ((protocol protocol))

automatically generated reader method

Source

load-time.lisp.

Target Slot

properties.

Reader Method: properties ((%protocol-compilation-note %protocol-compilation-note))

automatically generated reader method

Source

compile-time.lisp.

Target Slot

properties.

Generic Writer: (setf properties) (object)
Package

com.clearly-useful.protocols.

Methods
Writer Method: (setf properties) ((protocol protocol))

automatically generated writer method

Source

load-time.lisp.

Target Slot

properties.

Writer Method: (setf properties) ((%protocol-compilation-note %protocol-compilation-note))

automatically generated writer method

Source

compile-time.lisp.

Target Slot

properties.

Generic Reader: protocol-documentation (object)
Package

com.clearly-useful.protocols.

Methods
Reader Method: protocol-documentation ((protocol protocol))

automatically generated reader method

Source

load-time.lisp.

Target Slot

documentation.

Reader Method: protocol-documentation ((%protocol-compilation-note %protocol-compilation-note))

automatically generated reader method

Source

compile-time.lisp.

Target Slot

documentation.

Generic Writer: (setf protocol-documentation) (object)
Package

com.clearly-useful.protocols.

Methods
Writer Method: (setf protocol-documentation) ((protocol protocol))

automatically generated writer method

Source

load-time.lisp.

Target Slot

documentation.

Writer Method: (setf protocol-documentation) ((%protocol-compilation-note %protocol-compilation-note))

automatically generated writer method

Source

compile-time.lisp.

Target Slot

documentation.

Generic Reader: protocol-includes-generic-pun (object)
Package

com.clearly-useful.protocols.

Methods
Reader Method: protocol-includes-generic-pun ((protocol protocol))

automatically generated reader method

Source

load-time.lisp.

Target Slot

includes-generic-pun.

Reader Method: protocol-includes-generic-pun ((%protocol-compilation-note %protocol-compilation-note))

automatically generated reader method

Source

compile-time.lisp.

Target Slot

includes-generic-pun.

Generic Writer: (setf protocol-includes-generic-pun) (object)
Package

com.clearly-useful.protocols.

Methods
Writer Method: (setf protocol-includes-generic-pun) ((protocol protocol))

automatically generated writer method

Source

load-time.lisp.

Target Slot

includes-generic-pun.

Writer Method: (setf protocol-includes-generic-pun) ((%protocol-compilation-note %protocol-compilation-note))

automatically generated writer method

Source

compile-time.lisp.

Target Slot

includes-generic-pun.

Generic Reader: protocol-includes-method-pun (object)
Package

com.clearly-useful.protocols.

Methods
Reader Method: protocol-includes-method-pun ((protocol protocol))

automatically generated reader method

Source

load-time.lisp.

Target Slot

includes-method-pun.

Reader Method: protocol-includes-method-pun ((%protocol-compilation-note %protocol-compilation-note))

automatically generated reader method

Source

compile-time.lisp.

Target Slot

includes-method-pun.

Generic Writer: (setf protocol-includes-method-pun) (object)
Package

com.clearly-useful.protocols.

Methods
Writer Method: (setf protocol-includes-method-pun) ((protocol protocol))

automatically generated writer method

Source

load-time.lisp.

Target Slot

includes-method-pun.

Writer Method: (setf protocol-includes-method-pun) ((%protocol-compilation-note %protocol-compilation-note))

automatically generated writer method

Source

compile-time.lisp.

Target Slot

includes-method-pun.


5.2.5 Structures

Structure: protocol-body
Package

com.clearly-useful.protocols.

Source

parse.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: properties
Readers

protocol-body-properties.

Writers

(setf protocol-body-properties).

Slot: methods
Readers

protocol-body-methods.

Writers

(setf protocol-body-methods).


5.2.6 Classes

Class: %protocol-compilation-note
Package

com.clearly-useful.protocols.

Source

compile-time.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: methods
Initform

(list)

Readers

methods.

Writers

(setf methods).

Slot: properties
Readers

properties.

Writers

(setf properties).

Slot: documentation
Package

common-lisp.

Readers

protocol-documentation.

Writers

(setf protocol-documentation).

Slot: includes-generic-pun
Readers

protocol-includes-generic-pun.

Writers

(setf protocol-includes-generic-pun).

Slot: includes-method-pun
Readers

protocol-includes-method-pun.

Writers

(setf protocol-includes-method-pun).

Slot: implementors
Initform

(list)

Class: %reified%
Package

com.clearly-useful.protocols.

Source

protocols.lisp.

Class: protocol
Package

com.clearly-useful.protocols.

Source

load-time.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

name.

Writers

(setf name).

Slot: methods
Initform

(list)

Readers

methods.

Writers

(setf methods).

Slot: properties
Readers

properties.

Writers

(setf properties).

Slot: documentation
Package

common-lisp.

Readers

protocol-documentation.

Writers

(setf protocol-documentation).

Slot: includes-generic-pun
Readers

protocol-includes-generic-pun.

Writers

(setf protocol-includes-generic-pun).

Slot: includes-method-pun
Readers

protocol-includes-method-pun.

Writers

(setf protocol-includes-method-pun).

Slot: implementors
Initform

(list)


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

%
%bool: Private ordinary functions
%build-protocol-object: Private ordinary functions
%compile-time-implements?: Private ordinary functions
%defprotocol: Private ordinary functions
%ensure-protocol-compilation-note: Private ordinary functions
%extend-type: Private ordinary functions
%find-protocol-compilation-note: Private ordinary functions
%implement-protocol-for-object: Private ordinary functions
%implements?: Private ordinary functions

(
(setf %find-protocol-compilation-note): Private ordinary functions
(setf find-protocol): Private ordinary functions
(setf methods): Private generic functions
(setf methods): Private generic functions
(setf methods): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf name): Private generic functions
(setf properties): Private generic functions
(setf properties): Private generic functions
(setf properties): Private generic functions
(setf protocol-body-methods): Private ordinary functions
(setf protocol-body-properties): Private ordinary functions
(setf protocol-documentation): Private generic functions
(setf protocol-documentation): Private generic functions
(setf protocol-documentation): Private generic functions
(setf protocol-includes-generic-pun): Private generic functions
(setf protocol-includes-generic-pun): Private generic functions
(setf protocol-includes-generic-pun): Private generic functions
(setf protocol-includes-method-pun): Private generic functions
(setf protocol-includes-method-pun): Private generic functions
(setf protocol-includes-method-pun): Private generic functions

A
all: Private macros

C
class-implements-protocol-p: Public ordinary functions
copy-protocol-body: Private ordinary functions

D
defprotocol: Public macros

E
ensure-protocol: Private ordinary functions
extend-object: Public macros
extend-type: Public macros

F
find-protocol: Private ordinary functions
Function, %bool: Private ordinary functions
Function, %build-protocol-object: Private ordinary functions
Function, %compile-time-implements?: Private ordinary functions
Function, %defprotocol: Private ordinary functions
Function, %ensure-protocol-compilation-note: Private ordinary functions
Function, %extend-type: Private ordinary functions
Function, %find-protocol-compilation-note: Private ordinary functions
Function, %implement-protocol-for-object: Private ordinary functions
Function, %implements?: Private ordinary functions
Function, (setf %find-protocol-compilation-note): Private ordinary functions
Function, (setf find-protocol): Private ordinary functions
Function, (setf protocol-body-methods): Private ordinary functions
Function, (setf protocol-body-properties): Private ordinary functions
Function, class-implements-protocol-p: Public ordinary functions
Function, copy-protocol-body: Private ordinary functions
Function, ensure-protocol: Private ordinary functions
Function, find-protocol: Private ordinary functions
Function, generate-compile-time-requires: Private ordinary functions
Function, generate-implements?: Private ordinary functions
Function, generate-requires: Private ordinary functions
Function, make-protocol-body: Private ordinary functions
Function, method-implementations: Private ordinary functions
Function, parse-protocol-body: Private ordinary functions
Function, partition-methods: Private ordinary functions
Function, protocol-body-methods: Private ordinary functions
Function, protocol-body-p: Private ordinary functions
Function, protocol-body-properties: Private ordinary functions
Function, protocol-definition: Private ordinary functions
Function, protocol-definition-defgeneric-forms: Private ordinary functions
Function, protocol-definition-eponymous-generic: Private ordinary functions
Function, protocol-deftype: Private ordinary functions
Function, protocol-extends-class-p: Public ordinary functions
Function, protocol-implementation: Private ordinary functions
Function, protocol-implementation-base-method: Private ordinary functions
Function, protocol-implementation-compile-time: Private ordinary functions
Function, protocol-implementation-register: Private ordinary functions
Function, protocol-test-function: Private ordinary functions
Function, protocol-test-name: Private ordinary functions
Function, transform-arglist: Private ordinary functions
Function, transform-method: Private ordinary functions
Function, transform-method-to-defgeneric: Private ordinary functions
Function, valid-protocol-lambda-list-p: Private ordinary functions
Function, valid-protocol-method-name-p: Private ordinary functions
Function, validate-defprotocol-option: Private ordinary functions
Function, validate-protocol-definition-methods: Private ordinary functions
Function, validate-protocol-implementation-methods: Private ordinary functions

G
generate-compile-time-requires: Private ordinary functions
generate-implements?: Private ordinary functions
generate-requires: Private ordinary functions
Generic Function, (setf methods): Private generic functions
Generic Function, (setf name): Private generic functions
Generic Function, (setf properties): Private generic functions
Generic Function, (setf protocol-documentation): Private generic functions
Generic Function, (setf protocol-includes-generic-pun): Private generic functions
Generic Function, (setf protocol-includes-method-pun): Private generic functions
Generic Function, implements-protocol?: Private generic functions
Generic Function, methods: Private generic functions
Generic Function, name: Private generic functions
Generic Function, properties: Private generic functions
Generic Function, protocol-documentation: Private generic functions
Generic Function, protocol-includes-generic-pun: Private generic functions
Generic Function, protocol-includes-method-pun: Private generic functions

I
implements-protocol?: Private generic functions
implements-protocol?: Private generic functions
implements-protocol?: Private generic functions

M
Macro, all: Private macros
Macro, defprotocol: Public macros
Macro, extend-object: Public macros
Macro, extend-type: Public macros
Macro, reify: Public macros
make-load-form: Public standalone methods
make-load-form: Public standalone methods
make-protocol-body: Private ordinary functions
Method, (setf methods): Private generic functions
Method, (setf methods): Private generic functions
Method, (setf name): Private generic functions
Method, (setf name): Private generic functions
Method, (setf properties): Private generic functions
Method, (setf properties): Private generic functions
Method, (setf protocol-documentation): Private generic functions
Method, (setf protocol-documentation): Private generic functions
Method, (setf protocol-includes-generic-pun): Private generic functions
Method, (setf protocol-includes-generic-pun): Private generic functions
Method, (setf protocol-includes-method-pun): Private generic functions
Method, (setf protocol-includes-method-pun): Private generic functions
Method, implements-protocol?: Private generic functions
Method, implements-protocol?: Private generic functions
Method, make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
Method, methods: Private generic functions
Method, methods: Private generic functions
Method, name: Private generic functions
Method, name: Private generic functions
Method, properties: Private generic functions
Method, properties: Private generic functions
Method, protocol-documentation: Private generic functions
Method, protocol-documentation: Private generic functions
Method, protocol-includes-generic-pun: Private generic functions
Method, protocol-includes-generic-pun: Private generic functions
Method, protocol-includes-method-pun: Private generic functions
Method, protocol-includes-method-pun: Private generic functions
method-implementations: Private ordinary functions
methods: Private generic functions
methods: Private generic functions
methods: Private generic functions

N
name: Private generic functions
name: Private generic functions
name: Private generic functions

P
parse-protocol-body: Private ordinary functions
partition-methods: Private ordinary functions
properties: Private generic functions
properties: Private generic functions
properties: Private generic functions
protocol-body-methods: Private ordinary functions
protocol-body-p: Private ordinary functions
protocol-body-properties: Private ordinary functions
protocol-definition: Private ordinary functions
protocol-definition-defgeneric-forms: Private ordinary functions
protocol-definition-eponymous-generic: Private ordinary functions
protocol-deftype: Private ordinary functions
protocol-documentation: Private generic functions
protocol-documentation: Private generic functions
protocol-documentation: Private generic functions
protocol-extends-class-p: Public ordinary functions
protocol-implementation: Private ordinary functions
protocol-implementation-base-method: Private ordinary functions
protocol-implementation-compile-time: Private ordinary functions
protocol-implementation-register: Private ordinary functions
protocol-includes-generic-pun: Private generic functions
protocol-includes-generic-pun: Private generic functions
protocol-includes-generic-pun: Private generic functions
protocol-includes-method-pun: Private generic functions
protocol-includes-method-pun: Private generic functions
protocol-includes-method-pun: Private generic functions
protocol-test-function: Private ordinary functions
protocol-test-name: Private ordinary functions

R
reify: Public macros

T
transform-arglist: Private ordinary functions
transform-method: Private ordinary functions
transform-method-to-defgeneric: Private ordinary functions

V
valid-protocol-lambda-list-p: Private ordinary functions
valid-protocol-method-name-p: Private ordinary functions
validate-defprotocol-option: Private ordinary functions
validate-protocol-definition-methods: Private ordinary functions
validate-protocol-implementation-methods: Private ordinary functions


A.3 Variables


A.4 Data types

Jump to:   %  
C   F   I   L   P   S   V  
Index Entry  Section

%
%protocol-compilation-note: Private classes
%reified%: Private classes

C
Class, %protocol-compilation-note: Private classes
Class, %reified%: Private classes
Class, protocol: Private classes
codegen.lisp: The com․clearly-useful․protocols/codegen․lisp file
com.clearly-useful.protocols: The com․clearly-useful․protocols system
com.clearly-useful.protocols: The com․clearly-useful․protocols package
com.clearly-useful.protocols.asd: The com․clearly-useful․protocols/com․clearly-useful․protocols․asd file
compile-time.lisp: The com․clearly-useful․protocols/compile-time․lisp file

F
File, codegen.lisp: The com․clearly-useful․protocols/codegen․lisp file
File, com.clearly-useful.protocols.asd: The com․clearly-useful․protocols/com․clearly-useful․protocols․asd file
File, compile-time.lisp: The com․clearly-useful․protocols/compile-time․lisp file
File, interface.lisp: The com․clearly-useful․protocols/interface․lisp file
File, load-time.lisp: The com․clearly-useful․protocols/load-time․lisp file
File, package.lisp: The com․clearly-useful․protocols/package․lisp file
File, parse.lisp: The com․clearly-useful․protocols/parse․lisp file
File, protocols.lisp: The com․clearly-useful․protocols/protocols․lisp file
File, validation.lisp: The com․clearly-useful․protocols/validation․lisp file

I
interface.lisp: The com․clearly-useful․protocols/interface․lisp file

L
load-time.lisp: The com․clearly-useful․protocols/load-time․lisp file

P
Package, com.clearly-useful.protocols: The com․clearly-useful․protocols package
package.lisp: The com․clearly-useful․protocols/package․lisp file
parse.lisp: The com․clearly-useful․protocols/parse․lisp file
protocol: Private classes
protocol-body: Private structures
protocols.lisp: The com․clearly-useful․protocols/protocols․lisp file

S
Structure, protocol-body: Private structures
System, com.clearly-useful.protocols: The com․clearly-useful․protocols system

V
validation.lisp: The com․clearly-useful․protocols/validation․lisp file