The protest Reference Manual

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

Table of Contents


1 Introduction


2 Systems

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


2.1 protest

Common Lisp PROtocol and TESTcase Manager

Author

Michał "phoe" Herda <>

License

LLGPL

Dependencies
Source

protest.asd.

Child Component

src/package.lisp (file).


2.2 protest/base

Base macros and utilities for PROTEST

Author

Michał "phoe" Herda <>

License

LLGPL

Dependencies
  • alexandria (system).
  • closer-mop (system).
  • trivial-garbage (system).
Source

protest.asd.

Child Components

2.3 protest/protocol

Protocol defining utilities for PROTEST

Author

Michał "phoe" Herda <>

License

LLGPL

Dependencies
Source

protest.asd.

Child Components

2.4 protest/ftype

FTYPE generation for PROTEST

Author

Michał "phoe" Herda <>

License

LLGPL

Dependency

alexandria (system).

Source

protest.asd.

Child Components

2.5 protest/test-case

Test case defining utilities for PROTEST

Author

Michał "phoe" Herda <>

License

LLGPL

Dependencies
Source

protest.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 protest/protest.asd

Source

protest.asd.

Parent Component

protest (system).

ASDF Systems

3.1.2 protest/src/package.lisp

Source

protest.asd.

Parent Component

protest (system).

Packages

protest.


3.1.3 protest/base/src/base/package.lisp

Source

protest.asd.

Parent Component

protest/base (system).

Packages

3.1.4 protest/base/src/base/base.lisp

Dependency

src/base/package.lisp (file).

Source

protest.asd.

Parent Component

protest/base (system).

Public Interface
Internals

3.1.5 protest/base/src/base/protocol-error.lisp

Dependency

src/base/base.lisp (file).

Source

protest.asd.

Parent Component

protest/base (system).

Public Interface

3.1.6 protest/protocol/src/protocol/package.lisp

Source

protest.asd.

Parent Component

protest/protocol (system).

Packages

protest/protocol.


3.1.7 protest/protocol/src/protocol/elements.lisp

Dependency

src/protocol/package.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface

3.1.8 protest/protocol/src/protocol/elements/function.lisp

Dependency

src/protocol/elements.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface
Internals

defgeneric? (macro).


3.1.9 protest/protocol/src/protocol/elements/macro.lisp

Dependency

src/protocol/elements/function.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface
Internals

embed-documentation (method).


3.1.10 protest/protocol/src/protocol/elements/class.lisp

Dependency

src/protocol/elements/macro.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface

3.1.11 protest/protocol/src/protocol/elements/condition-type.lisp

Dependency

src/protocol/elements/class.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface

3.1.12 protest/protocol/src/protocol/elements/variable.lisp

Dependency

src/protocol/elements/condition-type.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface
Internals

embed-documentation (method).


3.1.13 protest/protocol/src/protocol/elements/category.lisp

Dependency

src/protocol/elements/variable.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface
Internals

*category-documentation-store* (special variable).


3.1.14 protest/protocol/src/protocol/elements/config.lisp

Dependency

src/protocol/elements/category.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface
Internals

*config-documentation-store* (special variable).


3.1.15 protest/protocol/src/protocol/definition.lisp

Dependency

src/protocol/elements/config.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface
Internals

3.1.16 protest/protocol/src/protocol/validation.lisp

Dependency

src/protocol/definition.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Internals

3.1.17 protest/protocol/src/protocol/macro.lisp

Dependency

src/protocol/validation.lisp (file).

Source

protest.asd.

Parent Component

protest/protocol (system).

Public Interface
Internals

ensure-protocol (function).


3.1.18 protest/ftype/src/ftype/package.lisp

Source

protest.asd.

Parent Component

protest/ftype (system).

Packages

protest/ftype.


3.1.19 protest/ftype/src/ftype/ftype.lisp

Dependency

src/ftype/package.lisp (file).

Source

protest.asd.

Parent Component

protest/ftype (system).

Public Interface

function-ftype-declaration-form (function).

Internals

lambda-list-argument-types (function).


3.1.20 protest/test-case/src/test-case/package.lisp

Source

protest.asd.

Parent Component

protest/test-case (system).

Packages

protest/test-case.


3.1.21 protest/test-case/src/test-case/test-step.lisp

Dependency

src/test-case/package.lisp (file).

Source

protest.asd.

Parent Component

protest/test-case (system).

Public Interface

3.1.22 protest/test-case/src/test-case/test-case.lisp

Dependency

src/test-case/test-step.lisp (file).

Source

protest.asd.

Parent Component

protest/test-case (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 protest/ftype

Source

src/ftype/package.lisp.

Use List
  • alexandria.
  • common-lisp.
Used By List

protest/protocol.

Public Interface

function-ftype-declaration-form (function).

Internals

lambda-list-argument-types (function).


4.2 protest/base

Source

src/base/package.lisp.

Use List
  • alexandria.
  • closer-mop.
  • common-lisp.
Used By List
Public Interface
Internals

4.3 protest

Source

src/package.lisp.

Use List

4.4 protest/common

This package exports symbols common across all PROTEST packages to avoid conflicts between individual PROTEST packages.

Source

src/base/package.lisp.

Used By List
Public Interface

4.5 protest/protocol

Source

src/protocol/package.lisp.

Use List
Used By List

protest.

Public Interface
Internals

4.6 protest/test-case

Source

src/test-case/package.lisp.

Use List
Used By List

protest.

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: *category-callback*

A function of one argument used as a callback for declaring categories. The only argument is the category name.

Package

protest/protocol.

Source

src/protocol/elements/category.lisp.

Special Variable: *config-callback*

A function of two arguments used as a callback for declaring configuration values. The first argument is the configuration entry name, the second is the type that the value of the configuration entry is allowed to take, the third is a boolean stating if the configuration entry is mandatory to be set, and the fourth is the initial value that was passed in the protocol. If no optional value was provided, this argument is not passed.

Package

protest/protocol.

Source

src/protocol/elements/config.lisp.

Special Variable: *protocols*

A hash-table mapping from protocol names to protocol objects.

Package

protest/protocol.

Source

src/protocol/definition.lisp.


5.1.2 Macros

Macro: define-protocol (name (&rest options) &body forms)

Defines the protocol with the provided NAME and OPTIONS, instantiating all its elements based on FORMS.

Package

protest/protocol.

Source

src/protocol/macro.lisp.

Macro: define-protocol-class (name superclasses slots &rest options)

Like DEFCLASS, but the defined class may not be instantiated directly.

Package

protest/base.

Source

src/base/base.lisp.

Macro: define-protocol-condition-type (name supertypes slots &rest options)

Like DEFINE-CONDITION, but the defined class may not be instantiated directly.

Package

protest/base.

Source

src/base/base.lisp.

Macro: define-test-case (name (&rest options) &body steps)
Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Macro: execute-protocol (name)

Executes all the side effects of the protocol with the provided NAME.

Package

protest/protocol.

Source

src/protocol/macro.lisp.


5.1.3 Ordinary functions

Function: compute-effective-protocol-elements (protocol)

Returns a fresh list of all protocol elements that occur inside the provided protocol and all of its dependencies, including transitive ones.

Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: find-protocol (name)

Returns the protocol with the provided name.

Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: (setf find-protocol) (name)

Sets the protocol with the provided name.

Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: find-test-case (name &optional package)

Returns the test case with the provided name from the provided package.

Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Function: (setf find-test-case) (name &optional package)

Sets the test case with the provided name with the provided package.

Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Function: function-ftype-declaration-form (typed-lambda-list &optional result-type keyword-types)

Given a lambda list annotated with types and a function result type, produces a form suitable for usage inside FTYPE declarations.

Package

protest/ftype.

Source

src/ftype/ftype.lisp.

Function: generate-element (type details &optional declaim-type-p)

Given the keyword representing the element type and the rest of that element’s list representation, attempts to generate and return a matching protocol element. Signals PROTOCOL-ERROR if the generation fails. The argument DECLAIM-TYPE-P states if the types of functions and variables should be declaimed; it may be ignored by the method.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Function: protocol-error (format-control &rest args)
Package

protest/base.

Source

src/base/protocol-error.lisp.

Function: protocol-object-p (object)

Returns true if CLASS is a protocol class or a protocol condition type, and false otherwise.

Package

protest/base.

Source

src/base/base.lisp.


5.1.4 Generic functions

Generic Reader: attachments (object)
Package

protest/common.

Methods
Reader Method: attachments ((test-case test-case))

automatically generated reader method

Source

src/test-case/test-case.lisp.

Target Slot

%attachments.

Reader Method: attachments ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%attachments.

Generic Writer: (setf attachments) (object)
Package

protest/common.

Methods
Writer Method: (setf attachments) ((test-case test-case))

automatically generated writer method

Source

src/test-case/test-case.lisp.

Target Slot

%attachments.

Writer Method: (setf attachments) ((protocol protocol))

automatically generated writer method

Source

src/protocol/definition.lisp.

Target Slot

%attachments.

Generic Reader: bindings (object)
Package

protest/protocol.

Methods
Reader Method: bindings ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%bindings.

Generic Writer: (setf bindings) (object)
Package

protest/protocol.

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

automatically generated writer method

Source

src/protocol/definition.lisp.

Target Slot

%bindings.

Generic Function: canonical-name (protocol-element)

Returns the canonical name of the protocol element.

If a protocol element has a name that is a list, a canonical name of that element is a copy of that element’s name, in which non-keyword symbols have been replaced by NIL. Otherwise, the canonical name is the name of the element.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: canonical-name ((config protocol-config))
Source

src/protocol/elements/config.lisp.

Method: canonical-name ((category protocol-category))
Source

src/protocol/elements/category.lisp.

Method: canonical-name ((protocol-element protocol-element))
Generic Reader: declaim-type-p (object)
Package

protest/protocol.

Methods
Reader Method: declaim-type-p ((protocol-variable protocol-variable))

automatically generated reader method

Source

src/protocol/elements/variable.lisp.

Target Slot

%declaim-type-p.

Reader Method: declaim-type-p ((protocol-function protocol-function))

automatically generated reader method

Source

src/protocol/elements/function.lisp.

Target Slot

%declaim-type-p.

Generic Writer: (setf declaim-type-p) (object)
Package

protest/protocol.

Methods
Writer Method: (setf declaim-type-p) ((protocol-variable protocol-variable))

automatically generated writer method

Source

src/protocol/elements/variable.lisp.

Target Slot

%declaim-type-p.

Writer Method: (setf declaim-type-p) ((protocol-function protocol-function))

automatically generated writer method

Source

src/protocol/elements/function.lisp.

Target Slot

%declaim-type-p.

Generic Reader: dependencies (object)
Package

protest/protocol.

Methods
Reader Method: dependencies ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%dependencies.

Generic Reader: description (object)
Package

protest/test-case.

Methods
Reader Method: description ((test-step test-step))

automatically generated reader method

Source

src/test-case/test-step.lisp.

Target Slot

%description.

Generic Reader: docstring (object)
Package

protest/protocol.

Methods
Reader Method: docstring ((protocol-element protocol-element))

automatically generated reader method

Source

src/protocol/elements.lisp.

Target Slot

%docstring.

Generic Writer: (setf docstring) (object)
Package

protest/protocol.

Methods
Writer Method: (setf docstring) ((protocol-element protocol-element))

automatically generated writer method

Source

src/protocol/elements.lisp.

Target Slot

%docstring.

Generic Reader: elements (object)
Package

protest/protocol.

Methods
Reader Method: elements ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%elements.

Generic Writer: (setf elements) (object)
Package

protest/protocol.

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

automatically generated writer method

Source

src/protocol/definition.lisp.

Target Slot

%elements.

Generic Reader: exports (object)
Package

protest/protocol.

Methods
Reader Method: exports ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%exports.

Generic Writer: (setf exports) (object)
Package

protest/protocol.

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

automatically generated writer method

Source

src/protocol/definition.lisp.

Target Slot

%exports.

Generic Function: generate-code (object)

Generates a fresh list of forms that is suitable to be NCONCed with other forms to generate the Lisp code that is meant to come into effect when the protocol is defined.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: generate-code ((protocol protocol))
Source

src/protocol/definition.lisp.

Method: generate-code ((element protocol-config))
Source

src/protocol/elements/config.lisp.

Method: generate-code ((element protocol-category))
Source

src/protocol/elements/category.lisp.

Method: generate-code ((element protocol-variable))
Source

src/protocol/elements/variable.lisp.

Method: generate-code ((element protocol-condition-type))
Source

src/protocol/elements/condition-type.lisp.

Method: generate-code ((element protocol-class))
Source

src/protocol/elements/class.lisp.

Method: generate-code ((element protocol-macro))
Source

src/protocol/elements/macro.lisp.

Method: generate-code ((element protocol-function))
Source

src/protocol/elements/function.lisp.

Generic Function: generate-element-using-class (class details &optional declaim-type-p)

Given the concrete class of the element type and the list representing that element’s list representation, attempts to generate and return a matching protocol element. Signals PROTOCOL-ERROR if the generation fails. The argument DECLAIM-TYPE-P states if the types of functions and variables should be declaimed; it may be ignored by the method.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: generate-element-using-class ((class (eql #<standard-class protest/protocol:protocol-config>)) details &optional declaim-type-p)
Source

src/protocol/elements/config.lisp.

Method: generate-element-using-class ((class (eql #<standard-class protest/protocol:protocol-category>)) details &optional declaim-type-p)
Source

src/protocol/elements/category.lisp.

Method: generate-element-using-class ((class (eql #<standard-class protest/protocol:protocol-variable>)) details &optional declaim-type-p)
Source

src/protocol/elements/variable.lisp.

Method: generate-element-using-class ((class (eql #<standard-class protest/protocol:protocol-condition-type>)) details &optional declaim-type-p)
Source

src/protocol/elements/condition-type.lisp.

Method: generate-element-using-class ((class (eql #<standard-class protest/protocol:protocol-class>)) details &optional declaim-type-p)
Source

src/protocol/elements/class.lisp.

Method: generate-element-using-class ((class (eql #<standard-class protest/protocol:protocol-macro>)) details &optional declaim-type-p)
Source

src/protocol/elements/macro.lisp.

Method: generate-element-using-class ((class (eql #<standard-class protest/protocol:protocol-function>)) details &optional declaim-type-p)
Source

src/protocol/elements/function.lisp.

Generic Function: generate-forms (element)

Generates a fresh list of forms that is suitable to be NCONCed with other forms to generate a protocol body.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: generate-forms ((element protocol-config))
Source

src/protocol/elements/config.lisp.

Method: generate-forms ((element protocol-category))
Source

src/protocol/elements/category.lisp.

Method: generate-forms ((element protocol-variable))
Source

src/protocol/elements/variable.lisp.

Method: generate-forms ((element protocol-condition-type))
Source

src/protocol/elements/condition-type.lisp.

Method: generate-forms ((element protocol-class))
Source

src/protocol/elements/class.lisp.

Method: generate-forms ((element protocol-macro))
Source

src/protocol/elements/macro.lisp.

Method: generate-forms ((element protocol-function))
Source

src/protocol/elements/function.lisp.

Generic Reader: id (object)
Package

protest/test-case.

Methods
Reader Method: id ((test-step test-step))

automatically generated reader method

Source

src/test-case/test-step.lisp.

Target Slot

%id.

Generic Reader: initial-value (object)
Package

protest/protocol.

Methods
Reader Method: initial-value ((protocol-config protocol-config))

automatically generated reader method

Source

src/protocol/elements/config.lisp.

Target Slot

%initial-value.

Reader Method: initial-value ((protocol-variable protocol-variable))

automatically generated reader method

Source

src/protocol/elements/variable.lisp.

Target Slot

%initial-value.

Generic Writer: (setf initial-value) (object)
Package

protest/protocol.

Methods
Writer Method: (setf initial-value) ((protocol-config protocol-config))

automatically generated writer method

Source

src/protocol/elements/config.lisp.

Target Slot

%initial-value.

Writer Method: (setf initial-value) ((protocol-variable protocol-variable))

automatically generated writer method

Source

src/protocol/elements/variable.lisp.

Target Slot

%initial-value.

Generic Function: keyword-element-class (keyword)

Given the keyword representing the element type, returns the class object representing the concrete element type.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: keyword-element-class ((keyword (eql :config)))
Source

src/protocol/elements/config.lisp.

Method: keyword-element-class ((keyword (eql :category)))
Source

src/protocol/elements/category.lisp.

Method: keyword-element-class ((keyword (eql :variable)))
Source

src/protocol/elements/variable.lisp.

Method: keyword-element-class ((keyword (eql :condition-type)))
Source

src/protocol/elements/condition-type.lisp.

Method: keyword-element-class ((keyword (eql :class)))
Source

src/protocol/elements/class.lisp.

Method: keyword-element-class ((keyword (eql :macro)))
Source

src/protocol/elements/macro.lisp.

Method: keyword-element-class ((keyword (eql :function)))
Source

src/protocol/elements/function.lisp.

Generic Reader: keyword-types (object)
Package

protest/protocol.

Methods
Reader Method: keyword-types ((protocol-function protocol-function))

automatically generated reader method

Source

src/protocol/elements/function.lisp.

Target Slot

%keyword-types.

Generic Writer: (setf keyword-types) (object)
Package

protest/protocol.

Methods
Writer Method: (setf keyword-types) ((protocol-function protocol-function))

automatically generated writer method

Source

src/protocol/elements/function.lisp.

Target Slot

%keyword-types.

Generic Reader: lambda-list (object)
Package

protest/protocol.

Methods
Reader Method: lambda-list ((protocol-macro protocol-macro))

automatically generated reader method

Source

src/protocol/elements/macro.lisp.

Target Slot

%lambda-list.

Reader Method: lambda-list ((protocol-function protocol-function))

automatically generated reader method

Source

src/protocol/elements/function.lisp.

Target Slot

%lambda-list.

Generic Reader: mandatoryp (object)
Package

protest/protocol.

Methods
Reader Method: mandatoryp ((protocol-config protocol-config))

automatically generated reader method

Source

src/protocol/elements/config.lisp.

Target Slot

%mandatoryp.

Generic Writer: (setf mandatoryp) (object)
Package

protest/protocol.

Methods
Writer Method: (setf mandatoryp) ((protocol-config protocol-config))

automatically generated writer method

Source

src/protocol/elements/config.lisp.

Target Slot

%mandatoryp.

Generic Reader: name (protocol-element)

Returns the name of the protocol element. The name might be a symbol or a list of symbols.

Package

protest/common.

Source

src/protocol/elements.lisp.

Methods
Reader Method: name ((test-case test-case))

automatically generated reader method

Source

src/test-case/test-case.lisp.

Target Slot

%name.

Reader Method: name ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%name.

Reader Method: name ((protocol-config protocol-config))

automatically generated reader method

Source

src/protocol/elements/config.lisp.

Target Slot

%name.

Reader Method: name ((protocol-category protocol-category))

automatically generated reader method

Source

src/protocol/elements/category.lisp.

Target Slot

%name.

Reader Method: name ((protocol-variable protocol-variable))

automatically generated reader method

Source

src/protocol/elements/variable.lisp.

Target Slot

%name.

Reader Method: name ((protocol-condition-type protocol-condition-type))

automatically generated reader method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%name.

Reader Method: name ((protocol-class protocol-class))

automatically generated reader method

Source

src/protocol/elements/class.lisp.

Target Slot

%name.

Reader Method: name ((protocol-macro protocol-macro))

automatically generated reader method

Source

src/protocol/elements/macro.lisp.

Target Slot

%name.

Reader Method: name ((protocol-function protocol-function))

automatically generated reader method

Source

src/protocol/elements/function.lisp.

Target Slot

%name.

Generic Writer: (setf name) (object)
Package

protest/common.

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

automatically generated writer method

Source

src/protocol/elements/config.lisp.

Target Slot

%name.

Writer Method: (setf name) ((protocol-category protocol-category))

automatically generated writer method

Source

src/protocol/elements/category.lisp.

Target Slot

%name.

Writer Method: (setf name) ((protocol-condition-type protocol-condition-type))

automatically generated writer method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%name.

Generic Reader: options (object)
Package

protest/protocol.

Methods
Reader Method: options ((protocol-condition-type protocol-condition-type))

automatically generated reader method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%options.

Reader Method: options ((protocol-class protocol-class))

automatically generated reader method

Source

src/protocol/elements/class.lisp.

Target Slot

%options.

Generic Writer: (setf options) (object)
Package

protest/protocol.

Methods
Writer Method: (setf options) ((protocol-condition-type protocol-condition-type))

automatically generated writer method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%options.

Writer Method: (setf options) ((protocol-class protocol-class))

automatically generated writer method

Source

src/protocol/elements/class.lisp.

Target Slot

%options.

Generic Reader: package-of (object)
Package

protest/test-case.

Methods
Reader Method: package-of ((test-case test-case))

automatically generated reader method

Source

src/test-case/test-case.lisp.

Target Slot

%package.

Generic Function: protocol-element-boundp (protocol-element)

Checks if the initial value of the protocol element is bound.

If the protocol element contains an initial value and that value is bound, this function returns (VALUES T T).
If the protocol element contains an initial value and that value is unbound, this function returns (VALUES NIL T).
If the protocol element does not contain an initial value, this function returns (VALUES NIL NIL).

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: protocol-element-boundp ((element protocol-config))
Source

src/protocol/elements/config.lisp.

Method: protocol-element-boundp ((element protocol-variable))
Source

src/protocol/elements/variable.lisp.

Method: protocol-element-boundp ((protocol-element protocol-element))
Generic Function: protocol-element-makunbound (protocol-element)

Attempts to unbind the initial value of the protocol element.

If the protocol element contains an initial value and that value is bound, this function unbinds that value. Otherwise, it does nothing.
In any case, the protocol element is returned.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: protocol-element-makunbound ((element protocol-config))
Source

src/protocol/elements/config.lisp.

Method: protocol-element-makunbound ((element protocol-variable))
Source

src/protocol/elements/variable.lisp.

Method: protocol-element-makunbound ((protocol-element protocol-element))
Generic Reader: protocol-object-instantiation-symbol (condition)
Package

protest/base.

Methods
Reader Method: protocol-object-instantiation-symbol ((condition protocol-object-instantiation))
Source

src/base/protocol-error.lisp.

Target Slot

symbol.

Generic Reader: protocol-object-instantiation-type (condition)
Package

protest/base.

Methods
Reader Method: protocol-object-instantiation-type ((condition protocol-object-instantiation))
Source

src/base/protocol-error.lisp.

Target Slot

type.

Generic Function: remove-protocol (protocol)

Removes the provided protocol and all the effects of its elements from the Lisp image.

Package

protest/protocol.

Source

src/protocol/definition.lisp.

Methods
Method: remove-protocol ((protocol symbol))
Method: remove-protocol ((protocol protocol))
Generic Function: remove-protocol-element (protocol-element)

Removes the effects of the provided protocol element from the
Lisp image.

This function does nothing unless the protocol associated with this element has been executed.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Methods
Method: remove-protocol-element ((element protocol-macro))
Source

src/protocol/macro.lisp.

Method: remove-protocol-element ((element protocol-config))
Source

src/protocol/elements/config.lisp.

Method: remove-protocol-element ((element protocol-category))
Source

src/protocol/elements/category.lisp.

Method: remove-protocol-element ((element protocol-variable))
Source

src/protocol/elements/variable.lisp.

Method: remove-protocol-element ((element protocol-condition-type))
Source

src/protocol/elements/condition-type.lisp.

Method: remove-protocol-element ((element protocol-class))
Source

src/protocol/elements/class.lisp.

Method: remove-protocol-element ((element protocol-function))
Source

src/protocol/elements/function.lisp.

Method: remove-protocol-element ((protocol-element protocol-element))
Generic Function: remove-protocol-object (object)

Removes the provided protocol object from the Lisp image.

Package

protest/base.

Source

src/base/base.lisp.

Methods
Method: remove-protocol-object ((class symbol))
Method: remove-protocol-object ((class class))
Generic Reader: return-type (object)
Package

protest/protocol.

Methods
Reader Method: return-type ((protocol-function protocol-function))

automatically generated reader method

Source

src/protocol/elements/function.lisp.

Target Slot

%return-type.

Generic Writer: (setf return-type) (object)
Package

protest/protocol.

Methods
Writer Method: (setf return-type) ((protocol-function protocol-function))

automatically generated writer method

Source

src/protocol/elements/function.lisp.

Target Slot

%return-type.

Generic Reader: slots (object)
Package

protest/protocol.

Methods
Reader Method: slots ((protocol-condition-type protocol-condition-type))

automatically generated reader method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%slots.

Reader Method: slots ((protocol-class protocol-class))

automatically generated reader method

Source

src/protocol/elements/class.lisp.

Target Slot

%slots.

Generic Writer: (setf slots) (object)
Package

protest/protocol.

Methods
Writer Method: (setf slots) ((protocol-condition-type protocol-condition-type))

automatically generated writer method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%slots.

Writer Method: (setf slots) ((protocol-class protocol-class))

automatically generated writer method

Source

src/protocol/elements/class.lisp.

Target Slot

%slots.

Generic Reader: steps (object)
Package

protest/test-case.

Methods
Reader Method: steps ((test-case test-case))

automatically generated reader method

Source

src/test-case/test-case.lisp.

Target Slot

%steps.

Generic Writer: (setf steps) (object)
Package

protest/test-case.

Methods
Writer Method: (setf steps) ((test-case test-case))

automatically generated writer method

Source

src/test-case/test-case.lisp.

Target Slot

%steps.

Generic Function: steps-list (test-case)
Package

protest/test-case.

Methods
Method: steps-list ((test-case test-case))
Source

src/test-case/test-case.lisp.

Generic Reader: superclasses (object)
Package

protest/protocol.

Methods
Reader Method: superclasses ((protocol-class protocol-class))

automatically generated reader method

Source

src/protocol/elements/class.lisp.

Target Slot

%superclasses.

Generic Writer: (setf superclasses) (object)
Package

protest/protocol.

Methods
Writer Method: (setf superclasses) ((protocol-class protocol-class))

automatically generated writer method

Source

src/protocol/elements/class.lisp.

Target Slot

%superclasses.

Generic Reader: supertypes (object)
Package

protest/protocol.

Methods
Reader Method: supertypes ((protocol-condition-type protocol-condition-type))

automatically generated reader method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%supertypes.

Generic Writer: (setf supertypes) (object)
Package

protest/protocol.

Methods
Writer Method: (setf supertypes) ((protocol-condition-type protocol-condition-type))

automatically generated writer method

Source

src/protocol/elements/condition-type.lisp.

Target Slot

%supertypes.

Generic Reader: tags (object)
Package

protest/common.

Methods
Reader Method: tags ((test-case test-case))

automatically generated reader method

Source

src/test-case/test-case.lisp.

Target Slot

%tags.

Reader Method: tags ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%tags.

Generic Writer: (setf tags) (object)
Package

protest/common.

Methods
Writer Method: (setf tags) ((test-case test-case))

automatically generated writer method

Source

src/test-case/test-case.lisp.

Target Slot

%tags.

Writer Method: (setf tags) ((protocol protocol))

automatically generated writer method

Source

src/protocol/definition.lisp.

Target Slot

%tags.

Generic Reader: test-phase (object)
Package

protest/test-case.

Methods
Reader Method: test-phase ((test-step test-step))

automatically generated reader method

Source

src/test-case/test-step.lisp.

Target Slot

%test-phase.

Generic Function: validate-implementations (protocol &key errorp successp)

Checks if all subclasses of protocol classes defined
in the protocol have appropriate methods defined on protocol functions defined in the protocol. Returns a list of validation errors if the check fails or if any protocol function is undefined. Each entry in the list follows the pattern: * (:missing-method FUNCTION POSITION PROTOCOL-CLASS CONCRETE-CLASS): There is no method defined on the protocol function that accepts the concrete class as its POSITIONth argument on the given position, but that class is a subtype of protocol class that is the declared protocol specializer of that argument. If ERRORP is true, a condition of type PROTOCOL-VALIDATION-ERROR is instead signaled.
* (:undefined-function FUNCTION-NAME): The protocol function with this name is undefined. The protocol might not have been executed. If ERRORP is true, a condition of type UNDEFINED-PROTOCOL-FUNCTION is instead signaled.
* (:success FUNCTION POSITION PROTOCOL-CLASS CONCRETE-CLASS SPECIALIZER): Denotes that the function has a method specialized on the specializer on POSITIONth position and that specializer is a proper subtype of the concrete class. (In other words, there is a method defined on that class.)
This entry is only collected if the SUCCESSP argument is true.

Package

protest/protocol.

Source

src/protocol/definition.lisp.

Methods
Method: validate-implementations ((protocol null) &rest rest)
Method: validate-implementations ((protocol-name symbol) &rest rest)
Method: validate-implementations ((protocol protocol) &key errorp successp)
Generic Reader: value-type (object)
Package

protest/protocol.

Methods
Reader Method: value-type ((protocol-config protocol-config))

automatically generated reader method

Source

src/protocol/elements/config.lisp.

Target Slot

%value-type.

Reader Method: value-type ((protocol-variable protocol-variable))

automatically generated reader method

Source

src/protocol/elements/variable.lisp.

Target Slot

%value-type.

Generic Writer: (setf value-type) (object)
Package

protest/protocol.

Methods
Writer Method: (setf value-type) ((protocol-config protocol-config))

automatically generated writer method

Source

src/protocol/elements/config.lisp.

Target Slot

%value-type.

Writer Method: (setf value-type) ((protocol-variable protocol-variable))

automatically generated writer method

Source

src/protocol/elements/variable.lisp.

Target Slot

%value-type.

Generic Reader: whole (object)
Package

protest/common.

Methods
Reader Method: whole ((test-case test-case))

automatically generated reader method

Source

src/test-case/test-case.lisp.

Target Slot

%whole.

Reader Method: whole ((protocol protocol))

automatically generated reader method

Source

src/protocol/definition.lisp.

Target Slot

%whole.

Generic Writer: (setf whole) (object)
Package

protest/common.

Methods
Writer Method: (setf whole) ((test-case test-case))

automatically generated writer method

Source

src/test-case/test-case.lisp.

Target Slot

%whole.

Writer Method: (setf whole) ((protocol protocol))

automatically generated writer method

Source

src/protocol/definition.lisp.

Target Slot

%whole.


5.1.5 Standalone methods

Method: (setf documentation) ((slotd protocol) (type (eql protest/protocol:protocol)))
Source

src/protocol/definition.lisp.

Method: documentation ((slotd protocol) (type (eql protest/protocol:protocol)))
Source

src/protocol/definition.lisp.

Method: (setf documentation) ((slotd test-case) (type (eql protest/test-case:test-case)))
Source

src/test-case/test-case.lisp.

Method: documentation ((slotd test-case) (type (eql protest/test-case:test-case)))
Source

src/test-case/test-case.lisp.

Method: initialize-instance :around ((object protocol-error) &key)
Source

src/base/protocol-error.lisp.

Method: initialize-instance :around ((object protocol-operation) &key)
Source

src/protocol/elements.lisp.

Method: initialize-instance :around ((object protocol-data-type) &key)
Source

src/protocol/elements.lisp.

Method: initialize-instance :after ((protocol protocol) &key name dependencies export declaim-types-p documentation)
Source

src/protocol/definition.lisp.

Method: initialize-instance :around ((object protocol-element) &key)
Source

src/protocol/elements.lisp.

Method: initialize-instance :after ((test-step test-step) &key)
Source

src/test-case/test-step.lisp.

Method: initialize-instance :after ((test-case test-case) &key name documentation)
Source

src/test-case/test-case.lisp.

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

src/protocol/definition.lisp.

Method: make-load-form ((object protocol-element) &optional environment)
Source

src/protocol/elements.lisp.

Method: make-load-form ((test-step test-step) &optional environment)
Source

src/test-case/test-step.lisp.

Method: make-load-form ((test-case test-case) &optional environment)
Source

src/test-case/test-case.lisp.

Method: print-object ((protocol protocol) stream)
Source

src/protocol/definition.lisp.

Method: print-object ((object protocol-element) stream)
Source

src/protocol/elements.lisp.

Method: print-object ((test-step test-step) stream)
Source

src/test-case/test-step.lisp.

Method: print-object ((test-case test-case) stream)
Source

src/test-case/test-case.lisp.


5.1.6 Conditions

Condition: protocol-error

The parent condition type for all protocol errors.

This condition type is a protocol condition type and must not be instantiated directly.

Package

protest/base.

Source

src/base/protocol-error.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods

initialize-instance.

Condition: protocol-object-instantiation
Package

protest/base.

Source

src/base/protocol-error.lisp.

Direct superclasses

protocol-error.

Direct methods
Direct slots
Slot: symbol
Package

common-lisp.

Initargs

:symbol

Readers

protocol-object-instantiation-symbol.

Writers

This slot is read-only.

Slot: type
Package

common-lisp.

Initargs

:type

Readers

protocol-object-instantiation-type.

Writers

This slot is read-only.

Condition: simple-protocol-error
Package

protest/base.

Source

src/base/protocol-error.lisp.

Direct superclasses

5.1.7 Classes

Class: protocol

Describes a protocol understood as a relation between data types and operations on these types.

Package

protest/protocol.

Source

src/protocol/definition.lisp.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: %whole
Initargs

:whole

Readers

whole.

Writers

(setf whole).

Slot: %tags
Initform

(quote nil)

Initargs

:tags

Readers

tags.

Writers

(setf tags).

Slot: %attachments
Initform

(quote nil)

Initargs

:attachments

Readers

attachments.

Writers

(setf attachments).

Slot: %dependencies
Initform

(quote nil)

Readers

dependencies.

Writers

This slot is read-only.

Slot: %exports
Initform

(quote nil)

Initargs

:exports

Readers

exports.

Writers

(setf exports).

Slot: %bindings
Initform

(quote nil)

Initargs

:bindings

Readers

bindings.

Writers

(setf bindings).

Slot: %elements
Initform

(quote nil)

Initargs

:elements

Readers

elements.

Writers

(setf elements).

Class: protocol-category

Describes a protocol configuration category that is a part of a protocol.

The form for a protocol configuration category consits of the following subforms:
* NAME - mandatory, must be a list of keywords and symbols. Denotes the name of the configuration category. The canonical names (with non-keyword symbols replaced by NIL) of configuration entries and configuration categories must not collide with each other.

Package

protest/protocol.

Source

src/protocol/elements/category.lisp.

Direct superclasses

protocol-data-type.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

(setf name).

Class: protocol-class

Describes a protocol class that is a part of a protocol.

The form for a protocol class consists of the following subforms:
* NAME - mandatory, must be a symbol. Denotes the name of the class.
* SUPERCLASSES - mandatory, must be a list of symbols. Denotes the superclasses of the class.
* SLOTS - mandatory, must be a list of slot definitions. Denotes the slots of the class. It is discouraged to create slots in protocol classes; client code should instead create slots in concrete classes which subclass the protocol classes.
* OPTIONS - optional, is the tail of the list. Denotes the options that will be passed to DEFCLASS.

Package

protest/protocol.

Source

src/protocol/elements/class.lisp.

Direct superclasses

protocol-data-type.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: %superclasses
Initform

(quote nil)

Initargs

:superclasses

Readers

superclasses.

Writers

(setf superclasses).

Slot: %slots
Initform

(quote nil)

Initargs

:slots

Readers

slots.

Writers

(setf slots).

Slot: %options
Initform

(quote nil)

Initargs

:options

Readers

options.

Writers

(setf options).

Class: protocol-condition-type

Describes a protocol condition type that is a part of a protocol.

The form for a protocol condition type consists of the following subforms: * NAME - mandatory, must be a symbol. Denotes the name of the condition type. * SUPERTYPES - mandatory, must be a list of symbols. Denotes the supertypes of the condition type.
* SLOTS - mandatory, must be a list of slot definitions. Denotes the slots of the condition type. It is discouraged to create slots in protocol condition types; client code should instead create slots in concrete types which subtype the protocol condition types.
* OPTIONS - optional, is the tail of the list. Denotes the options that will be passed to DEFINE-CONDITION.

Package

protest/protocol.

Source

src/protocol/elements/condition-type.lisp.

Direct superclasses

protocol-data-type.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

(setf name).

Slot: %supertypes
Initform

(quote nil)

Initargs

:supertypes

Readers

supertypes.

Writers

(setf supertypes).

Slot: %slots
Initform

(quote nil)

Initargs

:slots

Readers

slots.

Writers

(setf slots).

Slot: %options
Initform

(quote nil)

Initargs

:options

Readers

options.

Writers

(setf options).

Class: protocol-config

Describes a protocol configuration entry that is a part of a protocol.

The form for a protocol configuration entry consists of the following subforms: * NAME - mandatory, must be a list of keywords and symbols. Denotes the name of the configuration entry. The canonical names (with non-keyword symbols replaced by NIL) of configuration entries and configuration categories must not collide with each other.
* VALUE-TYPE - optional, must be a valid type specifier. Denotes the type of the value bound to the configuration entry. If not specified, the configuration type will default to T.
* MANDATORYP - optional, must be of type (MEMBER :MANDATORY :OPTIONAL). States if the configuration entry must have a value set in the configuration before any client code may be executed. If not provided, defaults to :OPTIONAL.
* INITIAL-VALUE - optional. Denotes the default value that the configuration entry will be bound to at the moment of executing the protocol. If not passed, the value will not be bound.

Package

protest/protocol.

Source

src/protocol/elements/config.lisp.

Direct superclasses

protocol-data-type.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

(setf name).

Slot: %value-type
Initform

t

Initargs

:type

Readers

value-type.

Writers

(setf value-type).

Slot: %mandatoryp
Initargs

:mandatoryp

Readers

mandatoryp.

Writers

(setf mandatoryp).

Slot: %initial-value
Initargs

:initial-value

Readers

initial-value.

Writers

(setf initial-value).

Class: protocol-data-type

An data type belgonging to a protocol.

This class is a protocol class and must not be instantiated directly.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Direct superclasses

protocol-element.

Direct subclasses
Direct methods

initialize-instance.

Class: protocol-element

An element of a protocol.

This class is a protocol class and must not be instantiated directly.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: %docstring
Initargs

:docstring

Readers

docstring.

Writers

(setf docstring).

Class: protocol-function

Describes a generic function that is a part of a protocol.

The form for a protocol function consists of the following subforms:
* NAME - mandatory, must be a symbol or a (SETF symbol) form. Denotes the name of the function.
* LAMBDA-LIST - mandatory, must be a valid lambda list.
* RETURN-TYPE - optional, must be a valid return type for a function. If not specified, defaults to the symbol CL:*.
* KEYWORD-TYPES - optional, must be a valid plist containing some or all of the &KEY arguments used in LAMBDA-LIST along with their respective types.

Package

protest/protocol.

Source

src/protocol/elements/function.lisp.

Direct superclasses

protocol-operation.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: %lambda-list
Initform

(error "must provide lambda-list.")

Initargs

:lambda-list

Readers

lambda-list.

Writers

This slot is read-only.

Slot: %return-type
Initform

(quote *)

Initargs

:return-type

Readers

return-type.

Writers

(setf return-type).

Slot: %keyword-types
Initform

(quote nil)

Initargs

:keyword-types

Readers

keyword-types.

Writers

(setf keyword-types).

Slot: %declaim-type-p
Initform

t

Readers

declaim-type-p.

Writers

(setf declaim-type-p).

Class: protocol-macro

Describes a protocol macro that is a part of a protocol.

The form of a protocol macro consists of the following subforms: * NAME - mandatory, must be a symbol. Denotes the name of the macro. * LAMBDA-LIST - mandatory, must be a valid macro lambda list.

Package

protest/protocol.

Source

src/protocol/elements/macro.lisp.

Direct superclasses

protocol-operation.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: %lambda-list
Initform

(error "must provide lambda-list.")

Initargs

:lambda-list

Readers

lambda-list.

Writers

This slot is read-only.

Class: protocol-operation

An operation belgonging to a protocol.

This class is a protocol class and must not be instantiated directly.

Package

protest/protocol.

Source

src/protocol/elements.lisp.

Direct superclasses

protocol-element.

Direct subclasses
Direct methods

initialize-instance.

Class: protocol-variable

Describes a protocol variable that is a part of a protocol.

The form for a protocol variable consists of the following subforms:
* NAME - mandatory, must be a symbol. Denotes the name of the variable.
* VALUE-TYPE - optional, must be a valid type specifier. Denotes the type of the value bound to the variable. If not passed, the variable type will not be declaimed.
* INITIAL-VALUE - optional. Denotes the default value that the variable will be bound to at the moment of executing the protocol. If not passed, the variable will be unbound.

Package

protest/protocol.

Source

src/protocol/elements/variable.lisp.

Direct superclasses

protocol-data-type.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: %value-type
Initform

t

Initargs

:value-type

Readers

value-type.

Writers

(setf value-type).

Slot: %initial-value
Initargs

:initial-value

Readers

initial-value.

Writers

(setf initial-value).

Slot: %declaim-type-p
Initform

t

Readers

declaim-type-p.

Writers

(setf declaim-type-p).

Class: test-case

Describes a test case understood as a series of test phases and test steps describing each part of the test.

Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Direct methods
Direct slots
Slot: %name
Initform

(error "must provide name.")

Initargs

:name

Readers

name.

Writers

This slot is read-only.

Slot: %package
Initform

*package*

Initargs

:package

Readers

package-of.

Writers

This slot is read-only.

Slot: %whole
Initargs

:whole

Readers

whole.

Writers

(setf whole).

Slot: %tags
Initform

(quote nil)

Initargs

:tags

Readers

tags.

Writers

(setf tags).

Slot: %attachments
Initform

(quote nil)

Initargs

:attachments

Readers

attachments.

Writers

(setf attachments).

Slot: %steps
Initform

(make-hash-table)

Initargs

:steps

Readers

steps.

Writers

(setf steps).

Class: test-step
Package

protest/test-case.

Source

src/test-case/test-step.lisp.

Direct methods
Direct slots
Slot: %id
Initform

0

Initargs

:id

Readers

id.

Writers

This slot is read-only.

Slot: %description
Initargs

:description

Readers

description.

Writers

This slot is read-only.

Slot: %test-phase
Initargs

:test-phase

Readers

test-phase.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Special variables

Special Variable: *category-documentation-store*
Package

protest/protocol.

Source

src/protocol/elements/category.lisp.

Special Variable: *config-documentation-store*
Package

protest/protocol.

Source

src/protocol/elements/config.lisp.

Special Variable: *protocol-documentation-store*
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Special Variable: *protocol-objects*
Package

protest/base.

Source

src/base/base.lisp.

Special Variable: *protocol-validation-error-report*
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Special Variable: *test-case-documentation-store*
Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Special Variable: *test-cases*

A mapping from test case names to test cases.

Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Special Variable: *undefined-protocol-function-report*
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Special Variable: *warn-on-test-case-redefinition-p*

If true, then test case redefinitions will signal warnings.

Package

protest/test-case.

Source

src/test-case/test-case.lisp.


5.2.2 Macros

Macro: defgeneric? (name lambda-list &body options)
Package

protest/protocol.

Source

src/protocol/elements/function.lisp.

Macro: define-protocol-object (symbol string name supers slots options)
Package

protest/base.

Source

src/base/base.lisp.


5.2.3 Ordinary functions

Function: canonicalize-name (name)
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: check-dependencies-not-circular (protocol)
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: check-dependencies-valid (protocol)
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: check-duplicate-effective-elements (protocol)
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: check-duplicate-element-forms (protocol)
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: check-duplicate-ids (test-case)
Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Function: check-duplicate-test-phases (test-case)
Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Function: check-exports (protocol)
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: check-id-order (test-case)
Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Function: compute-exports (protocol)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: concrete-subclasses (class)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: ensure-protocol (name options whole)
Package

protest/protocol.

Source

src/protocol/macro.lisp.

Function: ensure-test-case (name options whole &optional package)
Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Function: find-valid-method (function specializers)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: generate-elements (elements declaim-types-p)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: generate-steps (forms)
Package

protest/test-case.

Source

src/test-case/test-case.lisp.

Function: lambda-list-argument-types (lambda-list keyword-types)
Package

protest/ftype.

Source

src/ftype/ftype.lisp.

Function: protocol-effective-dependencies (protocol)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: protocol-function-specializers (protocol-function)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: protocol-superclasses (class)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: protocol-validation-error-report (condition stream)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: replace-one (element position sequence)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: retain-duplicates (list)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: undefined-protocol-function-report (condition stream)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: validate-all-protocols ()
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: validate-function (protocol-function &optional errorp successp)
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Function: validate-protocol (protocol)
Package

protest/protocol.

Source

src/protocol/validation.lisp.

Function: validate-test-case (test-case)
Package

protest/test-case.

Source

src/test-case/test-case.lisp.


5.2.4 Generic functions

Generic Function: embed-documentation (element string)
Package

protest/protocol.

Methods
Method: embed-documentation ((element protocol-variable) (string string))
Source

src/protocol/elements/variable.lisp.

Method: embed-documentation ((element protocol-macro) (string string))
Source

src/protocol/elements/macro.lisp.

Generic Reader: protocol-validation-error-class (condition)
Package

protest/protocol.

Methods
Reader Method: protocol-validation-error-class ((condition protocol-validation-error))
Source

src/protocol/definition.lisp.

Target Slot

class.

Generic Reader: protocol-validation-error-function (condition)
Package

protest/protocol.

Methods
Reader Method: protocol-validation-error-function ((condition protocol-validation-error))
Source

src/protocol/definition.lisp.

Target Slot

function.

Generic Reader: protocol-validation-error-position (condition)
Package

protest/protocol.

Methods
Reader Method: protocol-validation-error-position ((condition protocol-validation-error))
Source

src/protocol/definition.lisp.

Target Slot

position.

Generic Reader: protocol-validation-error-subclass (condition)
Package

protest/protocol.

Methods
Reader Method: protocol-validation-error-subclass ((condition protocol-validation-error))
Source

src/protocol/definition.lisp.

Target Slot

subclass.


5.2.5 Conditions

Condition: protocol-validation-error
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Direct superclasses

protocol-error.

Direct methods
Direct slots
Slot: function
Package

common-lisp.

Initform

(quote (alexandria:required-argument :function))

Initargs

:function

Readers

protocol-validation-error-function.

Writers

This slot is read-only.

Slot: subclass
Initform

(quote (alexandria:required-argument :subclass))

Initargs

:subclass

Readers

protocol-validation-error-subclass.

Writers

This slot is read-only.

Slot: class
Package

common-lisp.

Initform

(quote (alexandria:required-argument :class))

Initargs

:class

Readers

protocol-validation-error-class.

Writers

This slot is read-only.

Slot: position
Package

common-lisp.

Initform

(quote (alexandria:required-argument :position))

Initargs

:position

Readers

protocol-validation-error-position.

Writers

This slot is read-only.

Condition: undefined-protocol-function
Package

protest/protocol.

Source

src/protocol/definition.lisp.

Direct superclasses

Appendix A Indexes


A.1 Concepts


A.2 Functions

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

(
(setf attachments): Public generic functions
(setf attachments): Public generic functions
(setf attachments): Public generic functions
(setf bindings): Public generic functions
(setf bindings): Public generic functions
(setf declaim-type-p): Public generic functions
(setf declaim-type-p): Public generic functions
(setf declaim-type-p): Public generic functions
(setf docstring): Public generic functions
(setf docstring): Public generic functions
(setf documentation): Public standalone methods
(setf documentation): Public standalone methods
(setf elements): Public generic functions
(setf elements): Public generic functions
(setf exports): Public generic functions
(setf exports): Public generic functions
(setf find-protocol): Public ordinary functions
(setf find-test-case): Public ordinary functions
(setf initial-value): Public generic functions
(setf initial-value): Public generic functions
(setf initial-value): Public generic functions
(setf keyword-types): Public generic functions
(setf keyword-types): Public generic functions
(setf mandatoryp): Public generic functions
(setf mandatoryp): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf name): Public generic functions
(setf options): Public generic functions
(setf options): Public generic functions
(setf options): Public generic functions
(setf return-type): Public generic functions
(setf return-type): Public generic functions
(setf slots): Public generic functions
(setf slots): Public generic functions
(setf slots): Public generic functions
(setf steps): Public generic functions
(setf steps): Public generic functions
(setf superclasses): Public generic functions
(setf superclasses): Public generic functions
(setf supertypes): Public generic functions
(setf supertypes): Public generic functions
(setf tags): Public generic functions
(setf tags): Public generic functions
(setf tags): Public generic functions
(setf value-type): Public generic functions
(setf value-type): Public generic functions
(setf value-type): Public generic functions
(setf whole): Public generic functions
(setf whole): Public generic functions
(setf whole): Public generic functions

A
attachments: Public generic functions
attachments: Public generic functions
attachments: Public generic functions

B
bindings: Public generic functions
bindings: Public generic functions

C
canonical-name: Public generic functions
canonical-name: Public generic functions
canonical-name: Public generic functions
canonical-name: Public generic functions
canonicalize-name: Private ordinary functions
check-dependencies-not-circular: Private ordinary functions
check-dependencies-valid: Private ordinary functions
check-duplicate-effective-elements: Private ordinary functions
check-duplicate-element-forms: Private ordinary functions
check-duplicate-ids: Private ordinary functions
check-duplicate-test-phases: Private ordinary functions
check-exports: Private ordinary functions
check-id-order: Private ordinary functions
compute-effective-protocol-elements: Public ordinary functions
compute-exports: Private ordinary functions
concrete-subclasses: Private ordinary functions

D
declaim-type-p: Public generic functions
declaim-type-p: Public generic functions
declaim-type-p: Public generic functions
defgeneric?: Private macros
define-protocol: Public macros
define-protocol-class: Public macros
define-protocol-condition-type: Public macros
define-protocol-object: Private macros
define-test-case: Public macros
dependencies: Public generic functions
dependencies: Public generic functions
description: Public generic functions
description: Public generic functions
docstring: Public generic functions
docstring: Public generic functions
documentation: Public standalone methods
documentation: Public standalone methods

E
elements: Public generic functions
elements: Public generic functions
embed-documentation: Private generic functions
embed-documentation: Private generic functions
embed-documentation: Private generic functions
ensure-protocol: Private ordinary functions
ensure-test-case: Private ordinary functions
execute-protocol: Public macros
exports: Public generic functions
exports: Public generic functions

F
find-protocol: Public ordinary functions
find-test-case: Public ordinary functions
find-valid-method: Private ordinary functions
Function, (setf find-protocol): Public ordinary functions
Function, (setf find-test-case): Public ordinary functions
Function, canonicalize-name: Private ordinary functions
Function, check-dependencies-not-circular: Private ordinary functions
Function, check-dependencies-valid: Private ordinary functions
Function, check-duplicate-effective-elements: Private ordinary functions
Function, check-duplicate-element-forms: Private ordinary functions
Function, check-duplicate-ids: Private ordinary functions
Function, check-duplicate-test-phases: Private ordinary functions
Function, check-exports: Private ordinary functions
Function, check-id-order: Private ordinary functions
Function, compute-effective-protocol-elements: Public ordinary functions
Function, compute-exports: Private ordinary functions
Function, concrete-subclasses: Private ordinary functions
Function, ensure-protocol: Private ordinary functions
Function, ensure-test-case: Private ordinary functions
Function, find-protocol: Public ordinary functions
Function, find-test-case: Public ordinary functions
Function, find-valid-method: Private ordinary functions
Function, function-ftype-declaration-form: Public ordinary functions
Function, generate-element: Public ordinary functions
Function, generate-elements: Private ordinary functions
Function, generate-steps: Private ordinary functions
Function, lambda-list-argument-types: Private ordinary functions
Function, protocol-effective-dependencies: Private ordinary functions
Function, protocol-error: Public ordinary functions
Function, protocol-function-specializers: Private ordinary functions
Function, protocol-object-p: Public ordinary functions
Function, protocol-superclasses: Private ordinary functions
Function, protocol-validation-error-report: Private ordinary functions
Function, replace-one: Private ordinary functions
Function, retain-duplicates: Private ordinary functions
Function, undefined-protocol-function-report: Private ordinary functions
Function, validate-all-protocols: Private ordinary functions
Function, validate-function: Private ordinary functions
Function, validate-protocol: Private ordinary functions
Function, validate-test-case: Private ordinary functions
function-ftype-declaration-form: Public ordinary functions

G
generate-code: Public generic functions
generate-code: Public generic functions
generate-code: Public generic functions
generate-code: Public generic functions
generate-code: Public generic functions
generate-code: Public generic functions
generate-code: Public generic functions
generate-code: Public generic functions
generate-code: Public generic functions
generate-element: Public ordinary functions
generate-element-using-class: Public generic functions
generate-element-using-class: Public generic functions
generate-element-using-class: Public generic functions
generate-element-using-class: Public generic functions
generate-element-using-class: Public generic functions
generate-element-using-class: Public generic functions
generate-element-using-class: Public generic functions
generate-element-using-class: Public generic functions
generate-elements: Private ordinary functions
generate-forms: Public generic functions
generate-forms: Public generic functions
generate-forms: Public generic functions
generate-forms: Public generic functions
generate-forms: Public generic functions
generate-forms: Public generic functions
generate-forms: Public generic functions
generate-forms: Public generic functions
generate-steps: Private ordinary functions
Generic Function, (setf attachments): Public generic functions
Generic Function, (setf bindings): Public generic functions
Generic Function, (setf declaim-type-p): Public generic functions
Generic Function, (setf docstring): Public generic functions
Generic Function, (setf elements): Public generic functions
Generic Function, (setf exports): Public generic functions
Generic Function, (setf initial-value): Public generic functions
Generic Function, (setf keyword-types): Public generic functions
Generic Function, (setf mandatoryp): Public generic functions
Generic Function, (setf name): Public generic functions
Generic Function, (setf options): Public generic functions
Generic Function, (setf return-type): Public generic functions
Generic Function, (setf slots): Public generic functions
Generic Function, (setf steps): Public generic functions
Generic Function, (setf superclasses): Public generic functions
Generic Function, (setf supertypes): Public generic functions
Generic Function, (setf tags): Public generic functions
Generic Function, (setf value-type): Public generic functions
Generic Function, (setf whole): Public generic functions
Generic Function, attachments: Public generic functions
Generic Function, bindings: Public generic functions
Generic Function, canonical-name: Public generic functions
Generic Function, declaim-type-p: Public generic functions
Generic Function, dependencies: Public generic functions
Generic Function, description: Public generic functions
Generic Function, docstring: Public generic functions
Generic Function, elements: Public generic functions
Generic Function, embed-documentation: Private generic functions
Generic Function, exports: Public generic functions
Generic Function, generate-code: Public generic functions
Generic Function, generate-element-using-class: Public generic functions
Generic Function, generate-forms: Public generic functions
Generic Function, id: Public generic functions
Generic Function, initial-value: Public generic functions
Generic Function, keyword-element-class: Public generic functions
Generic Function, keyword-types: Public generic functions
Generic Function, lambda-list: Public generic functions
Generic Function, mandatoryp: Public generic functions
Generic Function, name: Public generic functions
Generic Function, options: Public generic functions
Generic Function, package-of: Public generic functions
Generic Function, protocol-element-boundp: Public generic functions
Generic Function, protocol-element-makunbound: Public generic functions
Generic Function, protocol-object-instantiation-symbol: Public generic functions
Generic Function, protocol-object-instantiation-type: Public generic functions
Generic Function, protocol-validation-error-class: Private generic functions
Generic Function, protocol-validation-error-function: Private generic functions
Generic Function, protocol-validation-error-position: Private generic functions
Generic Function, protocol-validation-error-subclass: Private generic functions
Generic Function, remove-protocol: Public generic functions
Generic Function, remove-protocol-element: Public generic functions
Generic Function, remove-protocol-object: Public generic functions
Generic Function, return-type: Public generic functions
Generic Function, slots: Public generic functions
Generic Function, steps: Public generic functions
Generic Function, steps-list: Public generic functions
Generic Function, superclasses: Public generic functions
Generic Function, supertypes: Public generic functions
Generic Function, tags: Public generic functions
Generic Function, test-phase: Public generic functions
Generic Function, validate-implementations: Public generic functions
Generic Function, value-type: Public generic functions
Generic Function, whole: Public generic functions

I
id: Public generic functions
id: Public generic functions
initial-value: Public generic functions
initial-value: Public generic functions
initial-value: Public generic functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods

K
keyword-element-class: Public generic functions
keyword-element-class: Public generic functions
keyword-element-class: Public generic functions
keyword-element-class: Public generic functions
keyword-element-class: Public generic functions
keyword-element-class: Public generic functions
keyword-element-class: Public generic functions
keyword-element-class: Public generic functions
keyword-types: Public generic functions
keyword-types: Public generic functions

L
lambda-list: Public generic functions
lambda-list: Public generic functions
lambda-list: Public generic functions
lambda-list-argument-types: Private ordinary functions

M
Macro, defgeneric?: Private macros
Macro, define-protocol: Public macros
Macro, define-protocol-class: Public macros
Macro, define-protocol-condition-type: Public macros
Macro, define-protocol-object: Private macros
Macro, define-test-case: Public macros
Macro, execute-protocol: Public macros
make-load-form: Public standalone methods
make-load-form: Public standalone methods
make-load-form: Public standalone methods
make-load-form: Public standalone methods
mandatoryp: Public generic functions
mandatoryp: Public generic functions
Method, (setf attachments): Public generic functions
Method, (setf attachments): Public generic functions
Method, (setf bindings): Public generic functions
Method, (setf declaim-type-p): Public generic functions
Method, (setf declaim-type-p): Public generic functions
Method, (setf docstring): Public generic functions
Method, (setf documentation): Public standalone methods
Method, (setf documentation): Public standalone methods
Method, (setf elements): Public generic functions
Method, (setf exports): Public generic functions
Method, (setf initial-value): Public generic functions
Method, (setf initial-value): Public generic functions
Method, (setf keyword-types): Public generic functions
Method, (setf mandatoryp): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf name): Public generic functions
Method, (setf options): Public generic functions
Method, (setf options): Public generic functions
Method, (setf return-type): Public generic functions
Method, (setf slots): Public generic functions
Method, (setf slots): Public generic functions
Method, (setf steps): Public generic functions
Method, (setf superclasses): Public generic functions
Method, (setf supertypes): Public generic functions
Method, (setf tags): Public generic functions
Method, (setf tags): Public generic functions
Method, (setf value-type): Public generic functions
Method, (setf value-type): Public generic functions
Method, (setf whole): Public generic functions
Method, (setf whole): Public generic functions
Method, attachments: Public generic functions
Method, attachments: Public generic functions
Method, bindings: Public generic functions
Method, canonical-name: Public generic functions
Method, canonical-name: Public generic functions
Method, canonical-name: Public generic functions
Method, declaim-type-p: Public generic functions
Method, declaim-type-p: Public generic functions
Method, dependencies: Public generic functions
Method, description: Public generic functions
Method, docstring: Public generic functions
Method, documentation: Public standalone methods
Method, documentation: Public standalone methods
Method, elements: Public generic functions
Method, embed-documentation: Private generic functions
Method, embed-documentation: Private generic functions
Method, exports: Public generic functions
Method, generate-code: Public generic functions
Method, generate-code: Public generic functions
Method, generate-code: Public generic functions
Method, generate-code: Public generic functions
Method, generate-code: Public generic functions
Method, generate-code: Public generic functions
Method, generate-code: Public generic functions
Method, generate-code: Public generic functions
Method, generate-element-using-class: Public generic functions
Method, generate-element-using-class: Public generic functions
Method, generate-element-using-class: Public generic functions
Method, generate-element-using-class: Public generic functions
Method, generate-element-using-class: Public generic functions
Method, generate-element-using-class: Public generic functions
Method, generate-element-using-class: Public generic functions
Method, generate-forms: Public generic functions
Method, generate-forms: Public generic functions
Method, generate-forms: Public generic functions
Method, generate-forms: Public generic functions
Method, generate-forms: Public generic functions
Method, generate-forms: Public generic functions
Method, generate-forms: Public generic functions
Method, id: Public generic functions
Method, initial-value: Public generic functions
Method, initial-value: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, keyword-element-class: Public generic functions
Method, keyword-element-class: Public generic functions
Method, keyword-element-class: Public generic functions
Method, keyword-element-class: Public generic functions
Method, keyword-element-class: Public generic functions
Method, keyword-element-class: Public generic functions
Method, keyword-element-class: Public generic functions
Method, keyword-types: Public generic functions
Method, lambda-list: Public generic functions
Method, lambda-list: Public generic functions
Method, make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
Method, make-load-form: Public standalone methods
Method, mandatoryp: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, name: Public generic functions
Method, options: Public generic functions
Method, options: Public generic functions
Method, package-of: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, protocol-element-boundp: Public generic functions
Method, protocol-element-boundp: Public generic functions
Method, protocol-element-boundp: Public generic functions
Method, protocol-element-makunbound: Public generic functions
Method, protocol-element-makunbound: Public generic functions
Method, protocol-element-makunbound: Public generic functions
Method, protocol-object-instantiation-symbol: Public generic functions
Method, protocol-object-instantiation-type: Public generic functions
Method, protocol-validation-error-class: Private generic functions
Method, protocol-validation-error-function: Private generic functions
Method, protocol-validation-error-position: Private generic functions
Method, protocol-validation-error-subclass: Private generic functions
Method, remove-protocol: Public generic functions
Method, remove-protocol: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-element: Public generic functions
Method, remove-protocol-object: Public generic functions
Method, remove-protocol-object: Public generic functions
Method, return-type: Public generic functions
Method, slots: Public generic functions
Method, slots: Public generic functions
Method, steps: Public generic functions
Method, steps-list: Public generic functions
Method, superclasses: Public generic functions
Method, supertypes: Public generic functions
Method, tags: Public generic functions
Method, tags: Public generic functions
Method, test-phase: Public generic functions
Method, validate-implementations: Public generic functions
Method, validate-implementations: Public generic functions
Method, validate-implementations: Public generic functions
Method, value-type: Public generic functions
Method, value-type: Public generic functions
Method, whole: Public generic functions
Method, whole: Public generic functions

N
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions
name: Public generic functions

O
options: Public generic functions
options: Public generic functions
options: Public generic functions

P
package-of: Public generic functions
package-of: Public generic functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
protocol-effective-dependencies: Private ordinary functions
protocol-element-boundp: Public generic functions
protocol-element-boundp: Public generic functions
protocol-element-boundp: Public generic functions
protocol-element-boundp: Public generic functions
protocol-element-makunbound: Public generic functions
protocol-element-makunbound: Public generic functions
protocol-element-makunbound: Public generic functions
protocol-element-makunbound: Public generic functions
protocol-error: Public ordinary functions
protocol-function-specializers: Private ordinary functions
protocol-object-instantiation-symbol: Public generic functions
protocol-object-instantiation-symbol: Public generic functions
protocol-object-instantiation-type: Public generic functions
protocol-object-instantiation-type: Public generic functions
protocol-object-p: Public ordinary functions
protocol-superclasses: Private ordinary functions
protocol-validation-error-class: Private generic functions
protocol-validation-error-class: Private generic functions
protocol-validation-error-function: Private generic functions
protocol-validation-error-function: Private generic functions
protocol-validation-error-position: Private generic functions
protocol-validation-error-position: Private generic functions
protocol-validation-error-report: Private ordinary functions
protocol-validation-error-subclass: Private generic functions
protocol-validation-error-subclass: Private generic functions

R
remove-protocol: Public generic functions
remove-protocol: Public generic functions
remove-protocol: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-element: Public generic functions
remove-protocol-object: Public generic functions
remove-protocol-object: Public generic functions
remove-protocol-object: Public generic functions
replace-one: Private ordinary functions
retain-duplicates: Private ordinary functions
return-type: Public generic functions
return-type: Public generic functions

S
slots: Public generic functions
slots: Public generic functions
slots: Public generic functions
steps: Public generic functions
steps: Public generic functions
steps-list: Public generic functions
steps-list: Public generic functions
superclasses: Public generic functions
superclasses: Public generic functions
supertypes: Public generic functions
supertypes: Public generic functions

T
tags: Public generic functions
tags: Public generic functions
tags: Public generic functions
test-phase: Public generic functions
test-phase: Public generic functions

U
undefined-protocol-function-report: Private ordinary functions

V
validate-all-protocols: Private ordinary functions
validate-function: Private ordinary functions
validate-implementations: Public generic functions
validate-implementations: Public generic functions
validate-implementations: Public generic functions
validate-implementations: Public generic functions
validate-protocol: Private ordinary functions
validate-test-case: Private ordinary functions
value-type: Public generic functions
value-type: Public generic functions
value-type: Public generic functions

W
whole: Public generic functions
whole: Public generic functions
whole: Public generic functions


A.3 Variables

Jump to:   %   *  
C   F   P   S   T  
Index Entry  Section

%
%attachments: Public classes
%attachments: Public classes
%bindings: Public classes
%declaim-type-p: Public classes
%declaim-type-p: Public classes
%dependencies: Public classes
%description: Public classes
%docstring: Public classes
%elements: Public classes
%exports: Public classes
%id: Public classes
%initial-value: Public classes
%initial-value: Public classes
%keyword-types: Public classes
%lambda-list: Public classes
%lambda-list: Public classes
%mandatoryp: Public classes
%name: Public classes
%name: Public classes
%name: Public classes
%name: Public classes
%name: Public classes
%name: Public classes
%name: Public classes
%name: Public classes
%name: Public classes
%options: Public classes
%options: Public classes
%package: Public classes
%return-type: Public classes
%slots: Public classes
%slots: Public classes
%steps: Public classes
%superclasses: Public classes
%supertypes: Public classes
%tags: Public classes
%tags: Public classes
%test-phase: Public classes
%value-type: Public classes
%value-type: Public classes
%whole: Public classes
%whole: Public classes

*
*category-callback*: Public special variables
*category-documentation-store*: Private special variables
*config-callback*: Public special variables
*config-documentation-store*: Private special variables
*protocol-documentation-store*: Private special variables
*protocol-objects*: Private special variables
*protocol-validation-error-report*: Private special variables
*protocols*: Public special variables
*test-case-documentation-store*: Private special variables
*test-cases*: Private special variables
*undefined-protocol-function-report*: Private special variables
*warn-on-test-case-redefinition-p*: Private special variables

C
class: Private conditions

F
function: Private conditions

P
position: Private conditions

S
Slot, %attachments: Public classes
Slot, %attachments: Public classes
Slot, %bindings: Public classes
Slot, %declaim-type-p: Public classes
Slot, %declaim-type-p: Public classes
Slot, %dependencies: Public classes
Slot, %description: Public classes
Slot, %docstring: Public classes
Slot, %elements: Public classes
Slot, %exports: Public classes
Slot, %id: Public classes
Slot, %initial-value: Public classes
Slot, %initial-value: Public classes
Slot, %keyword-types: Public classes
Slot, %lambda-list: Public classes
Slot, %lambda-list: Public classes
Slot, %mandatoryp: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %name: Public classes
Slot, %options: Public classes
Slot, %options: Public classes
Slot, %package: Public classes
Slot, %return-type: Public classes
Slot, %slots: Public classes
Slot, %slots: Public classes
Slot, %steps: Public classes
Slot, %superclasses: Public classes
Slot, %supertypes: Public classes
Slot, %tags: Public classes
Slot, %tags: Public classes
Slot, %test-phase: Public classes
Slot, %value-type: Public classes
Slot, %value-type: Public classes
Slot, %whole: Public classes
Slot, %whole: Public classes
Slot, class: Private conditions
Slot, function: Private conditions
Slot, position: Private conditions
Slot, subclass: Private conditions
Slot, symbol: Public conditions
Slot, type: Public conditions
Special Variable, *category-callback*: Public special variables
Special Variable, *category-documentation-store*: Private special variables
Special Variable, *config-callback*: Public special variables
Special Variable, *config-documentation-store*: Private special variables
Special Variable, *protocol-documentation-store*: Private special variables
Special Variable, *protocol-objects*: Private special variables
Special Variable, *protocol-validation-error-report*: Private special variables
Special Variable, *protocols*: Public special variables
Special Variable, *test-case-documentation-store*: Private special variables
Special Variable, *test-cases*: Private special variables
Special Variable, *undefined-protocol-function-report*: Private special variables
Special Variable, *warn-on-test-case-redefinition-p*: Private special variables
subclass: Private conditions
symbol: Public conditions

T
type: Public conditions


A.4 Data types

Jump to:   C   F   P   S   T   U  
Index Entry  Section

C
Class, protocol: Public classes
Class, protocol-category: Public classes
Class, protocol-class: Public classes
Class, protocol-condition-type: Public classes
Class, protocol-config: Public classes
Class, protocol-data-type: Public classes
Class, protocol-element: Public classes
Class, protocol-function: Public classes
Class, protocol-macro: Public classes
Class, protocol-operation: Public classes
Class, protocol-variable: Public classes
Class, test-case: Public classes
Class, test-step: Public classes
Condition, protocol-error: Public conditions
Condition, protocol-object-instantiation: Public conditions
Condition, protocol-validation-error: Private conditions
Condition, simple-protocol-error: Public conditions
Condition, undefined-protocol-function: Private conditions

F
File, protest.asd: The protest/protest․asd file
File, src/base/base.lisp: The protest/base/src/base/base․lisp file
File, src/base/package.lisp: The protest/base/src/base/package․lisp file
File, src/base/protocol-error.lisp: The protest/base/src/base/protocol-error․lisp file
File, src/ftype/ftype.lisp: The protest/ftype/src/ftype/ftype․lisp file
File, src/ftype/package.lisp: The protest/ftype/src/ftype/package․lisp file
File, src/package.lisp: The protest/src/package․lisp file
File, src/protocol/definition.lisp: The protest/protocol/src/protocol/definition․lisp file
File, src/protocol/elements.lisp: The protest/protocol/src/protocol/elements․lisp file
File, src/protocol/elements/category.lisp: The protest/protocol/src/protocol/elements/category․lisp file
File, src/protocol/elements/class.lisp: The protest/protocol/src/protocol/elements/class․lisp file
File, src/protocol/elements/condition-type.lisp: The protest/protocol/src/protocol/elements/condition-type․lisp file
File, src/protocol/elements/config.lisp: The protest/protocol/src/protocol/elements/config․lisp file
File, src/protocol/elements/function.lisp: The protest/protocol/src/protocol/elements/function․lisp file
File, src/protocol/elements/macro.lisp: The protest/protocol/src/protocol/elements/macro․lisp file
File, src/protocol/elements/variable.lisp: The protest/protocol/src/protocol/elements/variable․lisp file
File, src/protocol/macro.lisp: The protest/protocol/src/protocol/macro․lisp file
File, src/protocol/package.lisp: The protest/protocol/src/protocol/package․lisp file
File, src/protocol/validation.lisp: The protest/protocol/src/protocol/validation․lisp file
File, src/test-case/package.lisp: The protest/test-case/src/test-case/package․lisp file
File, src/test-case/test-case.lisp: The protest/test-case/src/test-case/test-case․lisp file
File, src/test-case/test-step.lisp: The protest/test-case/src/test-case/test-step․lisp file

P
Package, protest: The protest package
Package, protest/base: The protest/base package
Package, protest/common: The protest/common package
Package, protest/ftype: The protest/ftype package
Package, protest/protocol: The protest/protocol package
Package, protest/test-case: The protest/test-case package
protest: The protest system
protest: The protest package
protest.asd: The protest/protest․asd file
protest/base: The protest/base system
protest/base: The protest/base package
protest/common: The protest/common package
protest/ftype: The protest/ftype system
protest/ftype: The protest/ftype package
protest/protocol: The protest/protocol system
protest/protocol: The protest/protocol package
protest/test-case: The protest/test-case system
protest/test-case: The protest/test-case package
protocol: Public classes
protocol-category: Public classes
protocol-class: Public classes
protocol-condition-type: Public classes
protocol-config: Public classes
protocol-data-type: Public classes
protocol-element: Public classes
protocol-error: Public conditions
protocol-function: Public classes
protocol-macro: Public classes
protocol-object-instantiation: Public conditions
protocol-operation: Public classes
protocol-validation-error: Private conditions
protocol-variable: Public classes

S
simple-protocol-error: Public conditions
src/base/base.lisp: The protest/base/src/base/base․lisp file
src/base/package.lisp: The protest/base/src/base/package․lisp file
src/base/protocol-error.lisp: The protest/base/src/base/protocol-error․lisp file
src/ftype/ftype.lisp: The protest/ftype/src/ftype/ftype․lisp file
src/ftype/package.lisp: The protest/ftype/src/ftype/package․lisp file
src/package.lisp: The protest/src/package․lisp file
src/protocol/definition.lisp: The protest/protocol/src/protocol/definition․lisp file
src/protocol/elements.lisp: The protest/protocol/src/protocol/elements․lisp file
src/protocol/elements/category.lisp: The protest/protocol/src/protocol/elements/category․lisp file
src/protocol/elements/class.lisp: The protest/protocol/src/protocol/elements/class․lisp file
src/protocol/elements/condition-type.lisp: The protest/protocol/src/protocol/elements/condition-type․lisp file
src/protocol/elements/config.lisp: The protest/protocol/src/protocol/elements/config․lisp file
src/protocol/elements/function.lisp: The protest/protocol/src/protocol/elements/function․lisp file
src/protocol/elements/macro.lisp: The protest/protocol/src/protocol/elements/macro․lisp file
src/protocol/elements/variable.lisp: The protest/protocol/src/protocol/elements/variable․lisp file
src/protocol/macro.lisp: The protest/protocol/src/protocol/macro․lisp file
src/protocol/package.lisp: The protest/protocol/src/protocol/package․lisp file
src/protocol/validation.lisp: The protest/protocol/src/protocol/validation․lisp file
src/test-case/package.lisp: The protest/test-case/src/test-case/package․lisp file
src/test-case/test-case.lisp: The protest/test-case/src/test-case/test-case․lisp file
src/test-case/test-step.lisp: The protest/test-case/src/test-case/test-step․lisp file
System, protest: The protest system
System, protest/base: The protest/base system
System, protest/ftype: The protest/ftype system
System, protest/protocol: The protest/protocol system
System, protest/test-case: The protest/test-case system

T
test-case: Public classes
test-step: Public classes

U
undefined-protocol-function: Private conditions