The cl-annot Reference Manual

This is the cl-annot Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 14:57:30 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 cl-annot

Python-like Annotation Syntax for Common Lisp

Author

Tomohiro Matsuyama

License

LLGPL

Version

0.1

Dependency

alexandria (system).

Source

cl-annot.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cl-annot/src

Source

cl-annot.asd.

Parent Component

cl-annot (system).

Child Components

3.2 cl-annot/src/main

Source

cl-annot.asd.

Parent Component

src (module).

Child Components

3.3 cl-annot/src/lib

Dependency

main (module).

Source

cl-annot.asd.

Parent Component

src (module).

Child Components

4 Files

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


4.1 Lisp


4.1.1 cl-annot/cl-annot.asd

Source

cl-annot.asd.

Parent Component

cl-annot (system).

ASDF Systems

cl-annot.

Packages

cl-annot-asd.


4.1.2 cl-annot/src/main/utils.lisp

Source

cl-annot.asd.

Parent Component

main (module).

Packages

cl-annot.util.

Public Interface

4.1.3 cl-annot/src/main/core.lisp

Dependency

utils.lisp (file).

Source

cl-annot.asd.

Parent Component

main (module).

Packages

cl-annot.core.

Public Interface

4.1.4 cl-annot/src/main/expand.lisp

Dependency

core.lisp (file).

Source

cl-annot.asd.

Parent Component

main (module).

Packages

cl-annot.expand.

Public Interface
Internals

expand-annotation-form (function).


4.1.5 cl-annot/src/main/syntax.lisp

Dependency

expand.lisp (file).

Source

cl-annot.asd.

Parent Component

main (module).

Packages

cl-annot.syntax.

Public Interface
Internals

4.1.6 cl-annot/src/main/helper.lisp

Dependency

syntax.lisp (file).

Source

cl-annot.asd.

Parent Component

main (module).

Packages

cl-annot.helper.

Public Interface
Internals

set-annotation-options (function).


4.1.7 cl-annot/src/main/annot.lisp

Dependency

helper.lisp (file).

Source

cl-annot.asd.

Parent Component

main (module).

Packages

cl-annot.


4.1.8 cl-annot/src/lib/std.lisp

Source

cl-annot.asd.

Parent Component

lib (module).

Packages

cl-annot.std.

Public Interface
Internals

%declare-list-or-symbol (function).


4.1.9 cl-annot/src/lib/eval-when.lisp

Dependency

std.lisp (file).

Source

cl-annot.asd.

Parent Component

lib (module).

Packages

cl-annot.eval-when.

Public Interface

4.1.10 cl-annot/src/lib/doc.lisp

Dependency

eval-when.lisp (file).

Source

cl-annot.asd.

Parent Component

lib (module).

Packages

cl-annot.doc.

Public Interface

doc (macro).


4.1.11 cl-annot/src/lib/class.lisp

Dependency

doc.lisp (file).

Source

cl-annot.asd.

Parent Component

lib (module).

Packages

cl-annot.class.

Public Interface
Internals

4.1.12 cl-annot/src/lib/slot.lisp

Dependency

class.lisp (file).

Source

cl-annot.asd.

Parent Component

lib (module).

Packages

cl-annot.slot.

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 cl-annot.core

Source

core.lisp.

Nickname

annot.core

Use List

common-lisp.

Used By List
Public Interface

5.2 cl-annot.doc

Source

doc.lisp.

Nickname

annot.doc

Use List
Public Interface

doc (macro).


5.3 cl-annot.eval-when

Source

eval-when.lisp.

Nickname

annot.eval-when

Use List

common-lisp.

Public Interface

5.4 cl-annot.helper

Source

helper.lisp.

Nickname

annot.helper

Use List
Used By List
Public Interface
Internals

set-annotation-options (function).


5.5 cl-annot.expand

Source

expand.lisp.

Nickname

annot.expand

Use List
Used By List

cl-annot.syntax.

Public Interface

expand-annotation (function).

Internals

expand-annotation-form (function).


5.6 cl-annot.util

Source

utils.lisp.

Nickname

annot.util

Use List

common-lisp.

Used By List
Public Interface

5.7 cl-annot.slot

Source

slot.lisp.

Nickname

annot.slot

Use List
Public Interface
Internals

5.8 cl-annot-asd

Source

cl-annot.asd.

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

5.9 cl-annot

Source

annot.lisp.

Nickname

annot

Use List

common-lisp.


5.10 cl-annot.std

Source

std.lisp.

Nickname

annot.std

Use List
Public Interface
Internals

%declare-list-or-symbol (function).


5.11 cl-annot.syntax

Source

syntax.lisp.

Nickname

annot.syntax

Use List
Used By List

cl-annot.helper.

Public Interface
Internals

5.12 cl-annot.class

Source

class.lisp.

Nickname

annot.class

Use List
Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Macros

Macro: %annotation (annot &rest args)

Annotation Expansion Engine.

Package

cl-annot.core.

Source

expand.lisp.

Macro: annotation (options function-definition-form)
Package

cl-annot.helper.

Source

helper.lisp.

Macro: declaration* (vars)

Shorthand for (DECLARE (DECLARATION ...)).

Package

cl-annot.std.

Source

std.lisp.

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

cl-annot.helper.

Source

helper.lisp.

Macro: doc (docstring definition-form)

Add DOCSTRING documentation for DEFINITION-FORM.

Package

cl-annot.doc.

Source

doc.lisp.

Macro: dynamic-extent* (vars)

Shorthand for (DECLARE (DYNAMIC-EXTENT ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: enable-annot-syntax ()
Package

cl-annot.syntax.

Source

syntax.lisp.

Macro: eval-always (&body body)
Package

cl-annot.eval-when.

Source

eval-when.lisp.

Macro: eval-when-compile (&body body)
Package

cl-annot.eval-when.

Source

eval-when.lisp.

Macro: eval-when-execute (&body body)
Package

cl-annot.eval-when.

Source

eval-when.lisp.

Macro: eval-when-load (&body body)
Package

cl-annot.eval-when.

Source

eval-when.lisp.

Macro: export* (definition-form)

Export the definition symbol of DEFINITION-FORM.

Package

cl-annot.std.

Source

std.lisp.

Macro: export-accessors (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Macro: export-class (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Macro: export-constructors (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Macro: export-slots (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Macro: export-structure (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Macro: ftype* (typespec name)

Shorthand for (DECLARE (FTYPE ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: ignorable* (vars)

Shorthand for (DECLARE (IGNORABLE ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: ignore* (vars)

Shorthand for (DECLARE (IGNORE ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: inline* (name)

Shorthand for (DECLARE (INLINE ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: metaclass (metaclass class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Macro: notinline* (name)

Shorthand for (DECLARE (NOTINLINE ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: optimize* (quality)

Shorthand for (DECLARE (OPTIMIZE ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: optional (init-form slot-specifier0)
Package

cl-annot.slot.

Source

slot.lisp.

Macro: required (slot-specifier0)
Package

cl-annot.slot.

Source

slot.lisp.

Macro: special* (vars)

Shorthand for (DECLARE (SPECIAL ...)).

Package

cl-annot.std.

Source

std.lisp.

Macro: type* (typespec name)

Shorthand for (DECLARE (TYPE ...)).

Package

cl-annot.std.

Source

std.lisp.


6.1.2 Ordinary functions

Function: annotation-arity (annot)

Return the number of arguments of ANNOT.

Package

cl-annot.core.

Source

core.lisp.

Function: (setf annotation-arity) (annot)
Package

cl-annot.core.

Source

core.lisp.

Function: annotation-form (annot args)

Make an annotation-form with ANNOT and ARGS.

Package

cl-annot.core.

Source

core.lisp.

Function: annotation-form-p (form)

Return non-nil if FORM is an annotation-form.

Package

cl-annot.core.

Source

core.lisp.

Function: annotation-inline-p (annot)

Return non-nil if ANNOT should be expanded on read-time.

Package

cl-annot.core.

Source

core.lisp.

Function: (setf annotation-inline-p) (annot)
Package

cl-annot.core.

Source

core.lisp.

Function: annotation-real (annot)

Return the real annotation of ANNOT.

Package

cl-annot.core.

Source

core.lisp.

Function: (setf annotation-real) (annot)
Package

cl-annot.core.

Source

core.lisp.

Function: annotation-syntax-reader (stream char)
Package

cl-annot.syntax.

Source

syntax.lisp.

Function: class-options (class-definition-form)

Return class-options of CLASS-DEFINITION-FORM.

Package

cl-annot.util.

Source

utils.lisp.

Function: definition-form-symbol (definition-form)

Return the symbol of DEFINITION-FORM.

Package

cl-annot.util.

Source

utils.lisp.

Function: definition-form-type (definition-form)

Return the type of DEFINITION-FORM.

Package

cl-annot.util.

Source

utils.lisp.

Function: expand-annotation (annot args)

Expand ANNOT. ARGS will be expanded prior to this form (call-by-value).

Package

cl-annot.expand.

Source

expand.lisp.

Function: get-class-option (name class-definition-form)

Return a value of NAME class-option of CLASS-DEFINITION-FORM.

Package

cl-annot.util.

Source

utils.lisp.

Function: macroexpand-some (form)

Expand FORM once. The result form won’t be nil.

Package

cl-annot.util.

Source

utils.lisp.

Function: macroexpand-until-normal-form (form)

Expand FORM until it brecomes normal-form.

Package

cl-annot.util.

Source

utils.lisp.

Function: macrop (symbol)

Return non-nil if SYMBOL is a macro.

Package

cl-annot.util.

Source

utils.lisp.

Function: plist-get-all (plist prop)

Return all values in PLIST named PROP.

Package

cl-annot.util.

Source

utils.lisp.

Function: plist-member (plist prop)

Return t if PLIST contains PROP as a property.

Package

cl-annot.util.

Source

utils.lisp.

Function: progn-form-last (progn-form)

Return the last form of PROGN-FORM which should be evaluated at last. If macro forms seen, the macro forms will be expanded using MACROEXPAND-UNTIL-NORMAL-FORM.

Package

cl-annot.util.

Source

utils.lisp.

Function: progn-form-replace-last (last progn-form)

Replace the last form of PROGN-FORM with LAST. If LAST is a function, the function will be called with the last form and used for replacing. If macro forms seen, the macro forms will be expanded using MACROEXPAND-UNTIL-NORMAL-FORM.

Package

cl-annot.util.

Source

utils.lisp.

Function: replace-function-body (function function-definition-form)

Replace the body of FUNCTION-DEFINITION-FORM by calling FUNCTION with name, lambda-list and the body as arguments.

Package

cl-annot.util.

Source

utils.lisp.

Function: replace-slot-specifiers (function class-definition-form)

Replace slot-specifiers of CLASS-DEFINITION-FORM with FUNCTION. The result value will be a class definition form also.

Package

cl-annot.util.

Source

utils.lisp.

Function: slot-specifiers (class-definition-form)

Return class-specifiers of CLASS-DEFINITION-FORM.

Package

cl-annot.util.

Source

utils.lisp.


6.2 Internals


6.2.1 Macros

Macro: def-slot-annotation (name args &body body)
Package

cl-annot.slot.

Source

slot.lisp.


6.2.2 Ordinary functions

Function: %declare-list-or-symbol (vars sym)
Package

cl-annot.std.

Source

std.lisp.

Function: %enable-annot-syntax ()
Package

cl-annot.syntax.

Source

syntax.lisp.

Function: expand-annotation-form (form)

Expand annotation FORM if possible.

Package

cl-annot.expand.

Source

expand.lisp.

Function: get-accessors-in-defclass (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Function: get-accessors-in-defstruct (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Function: get-conc-name (class-definition-form)
Package

cl-annot.class.

Source

class.lisp.

Function: read-annotation (stream)
Package

cl-annot.syntax.

Source

syntax.lisp.

Function: read-annotation-arguments (stream arity)
Package

cl-annot.syntax.

Source

syntax.lisp.

Function: required-argument (name)
Package

cl-annot.slot.

Source

slot.lisp.

Function: set-annotation-options (name options)
Package

cl-annot.helper.

Source

helper.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

%
%annotation: Public macros
%declare-list-or-symbol: Private ordinary functions
%enable-annot-syntax: Private ordinary functions

(
(setf annotation-arity): Public ordinary functions
(setf annotation-inline-p): Public ordinary functions
(setf annotation-real): Public ordinary functions

A
annotation: Public macros
annotation-arity: Public ordinary functions
annotation-form: Public ordinary functions
annotation-form-p: Public ordinary functions
annotation-inline-p: Public ordinary functions
annotation-real: Public ordinary functions
annotation-syntax-reader: Public ordinary functions

C
class-options: Public ordinary functions

D
declaration*: Public macros
def-slot-annotation: Private macros
defannotation: Public macros
definition-form-symbol: Public ordinary functions
definition-form-type: Public ordinary functions
doc: Public macros
dynamic-extent*: Public macros

E
enable-annot-syntax: Public macros
eval-always: Public macros
eval-when-compile: Public macros
eval-when-execute: Public macros
eval-when-load: Public macros
expand-annotation: Public ordinary functions
expand-annotation-form: Private ordinary functions
export*: Public macros
export-accessors: Public macros
export-class: Public macros
export-constructors: Public macros
export-slots: Public macros
export-structure: Public macros

F
ftype*: Public macros
Function, %declare-list-or-symbol: Private ordinary functions
Function, %enable-annot-syntax: Private ordinary functions
Function, (setf annotation-arity): Public ordinary functions
Function, (setf annotation-inline-p): Public ordinary functions
Function, (setf annotation-real): Public ordinary functions
Function, annotation-arity: Public ordinary functions
Function, annotation-form: Public ordinary functions
Function, annotation-form-p: Public ordinary functions
Function, annotation-inline-p: Public ordinary functions
Function, annotation-real: Public ordinary functions
Function, annotation-syntax-reader: Public ordinary functions
Function, class-options: Public ordinary functions
Function, definition-form-symbol: Public ordinary functions
Function, definition-form-type: Public ordinary functions
Function, expand-annotation: Public ordinary functions
Function, expand-annotation-form: Private ordinary functions
Function, get-accessors-in-defclass: Private ordinary functions
Function, get-accessors-in-defstruct: Private ordinary functions
Function, get-class-option: Public ordinary functions
Function, get-conc-name: Private ordinary functions
Function, macroexpand-some: Public ordinary functions
Function, macroexpand-until-normal-form: Public ordinary functions
Function, macrop: Public ordinary functions
Function, plist-get-all: Public ordinary functions
Function, plist-member: Public ordinary functions
Function, progn-form-last: Public ordinary functions
Function, progn-form-replace-last: Public ordinary functions
Function, read-annotation: Private ordinary functions
Function, read-annotation-arguments: Private ordinary functions
Function, replace-function-body: Public ordinary functions
Function, replace-slot-specifiers: Public ordinary functions
Function, required-argument: Private ordinary functions
Function, set-annotation-options: Private ordinary functions
Function, slot-specifiers: Public ordinary functions

G
get-accessors-in-defclass: Private ordinary functions
get-accessors-in-defstruct: Private ordinary functions
get-class-option: Public ordinary functions
get-conc-name: Private ordinary functions

I
ignorable*: Public macros
ignore*: Public macros
inline*: Public macros

M
Macro, %annotation: Public macros
Macro, annotation: Public macros
Macro, declaration*: Public macros
Macro, def-slot-annotation: Private macros
Macro, defannotation: Public macros
Macro, doc: Public macros
Macro, dynamic-extent*: Public macros
Macro, enable-annot-syntax: Public macros
Macro, eval-always: Public macros
Macro, eval-when-compile: Public macros
Macro, eval-when-execute: Public macros
Macro, eval-when-load: Public macros
Macro, export*: Public macros
Macro, export-accessors: Public macros
Macro, export-class: Public macros
Macro, export-constructors: Public macros
Macro, export-slots: Public macros
Macro, export-structure: Public macros
Macro, ftype*: Public macros
Macro, ignorable*: Public macros
Macro, ignore*: Public macros
Macro, inline*: Public macros
Macro, metaclass: Public macros
Macro, notinline*: Public macros
Macro, optimize*: Public macros
Macro, optional: Public macros
Macro, required: Public macros
Macro, special*: Public macros
Macro, type*: Public macros
macroexpand-some: Public ordinary functions
macroexpand-until-normal-form: Public ordinary functions
macrop: Public ordinary functions
metaclass: Public macros

N
notinline*: Public macros

O
optimize*: Public macros
optional: Public macros

P
plist-get-all: Public ordinary functions
plist-member: Public ordinary functions
progn-form-last: Public ordinary functions
progn-form-replace-last: Public ordinary functions

R
read-annotation: Private ordinary functions
read-annotation-arguments: Private ordinary functions
replace-function-body: Public ordinary functions
replace-slot-specifiers: Public ordinary functions
required: Public macros
required-argument: Private ordinary functions

S
set-annotation-options: Private ordinary functions
slot-specifiers: Public ordinary functions
special*: Public macros

T
type*: Public macros


A.3 Variables


A.4 Data types

Jump to:   A   C   D   E   F   H   L   M   P   S   U  
Index Entry  Section

A
annot.lisp: The cl-annot/src/main/annot․lisp file

C
cl-annot: The cl-annot system
cl-annot: The cl-annot package
cl-annot-asd: The cl-annot-asd package
cl-annot.asd: The cl-annot/cl-annot․asd file
cl-annot.class: The cl-annot․class package
cl-annot.core: The cl-annot․core package
cl-annot.doc: The cl-annot․doc package
cl-annot.eval-when: The cl-annot․eval-when package
cl-annot.expand: The cl-annot․expand package
cl-annot.helper: The cl-annot․helper package
cl-annot.slot: The cl-annot․slot package
cl-annot.std: The cl-annot․std package
cl-annot.syntax: The cl-annot․syntax package
cl-annot.util: The cl-annot․util package
class.lisp: The cl-annot/src/lib/class․lisp file
core.lisp: The cl-annot/src/main/core․lisp file

D
doc.lisp: The cl-annot/src/lib/doc․lisp file

E
eval-when.lisp: The cl-annot/src/lib/eval-when․lisp file
expand.lisp: The cl-annot/src/main/expand․lisp file

F
File, annot.lisp: The cl-annot/src/main/annot․lisp file
File, cl-annot.asd: The cl-annot/cl-annot․asd file
File, class.lisp: The cl-annot/src/lib/class․lisp file
File, core.lisp: The cl-annot/src/main/core․lisp file
File, doc.lisp: The cl-annot/src/lib/doc․lisp file
File, eval-when.lisp: The cl-annot/src/lib/eval-when․lisp file
File, expand.lisp: The cl-annot/src/main/expand․lisp file
File, helper.lisp: The cl-annot/src/main/helper․lisp file
File, slot.lisp: The cl-annot/src/lib/slot․lisp file
File, std.lisp: The cl-annot/src/lib/std․lisp file
File, syntax.lisp: The cl-annot/src/main/syntax․lisp file
File, utils.lisp: The cl-annot/src/main/utils․lisp file

H
helper.lisp: The cl-annot/src/main/helper․lisp file

L
lib: The cl-annot/src/lib module

M
main: The cl-annot/src/main module
Module, lib: The cl-annot/src/lib module
Module, main: The cl-annot/src/main module
Module, src: The cl-annot/src module

P
Package, cl-annot: The cl-annot package
Package, cl-annot-asd: The cl-annot-asd package
Package, cl-annot.class: The cl-annot․class package
Package, cl-annot.core: The cl-annot․core package
Package, cl-annot.doc: The cl-annot․doc package
Package, cl-annot.eval-when: The cl-annot․eval-when package
Package, cl-annot.expand: The cl-annot․expand package
Package, cl-annot.helper: The cl-annot․helper package
Package, cl-annot.slot: The cl-annot․slot package
Package, cl-annot.std: The cl-annot․std package
Package, cl-annot.syntax: The cl-annot․syntax package
Package, cl-annot.util: The cl-annot․util package

S
slot.lisp: The cl-annot/src/lib/slot․lisp file
src: The cl-annot/src module
std.lisp: The cl-annot/src/lib/std․lisp file
syntax.lisp: The cl-annot/src/main/syntax․lisp file
System, cl-annot: The cl-annot system

U
utils.lisp: The cl-annot/src/main/utils․lisp file