The example Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The example Reference Manual

This is the example Reference Manual, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Jan 25 10:54:41 2021 GMT+0.

Copyright © 2021 Alexander Artemenko

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the section entitled “Copying” is included exactly as in the original.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be translated as well.


Next: , Previous: , Up: Top   [Contents][Index]

Copying

Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

This is the introduction to Declt example project. Declt is a documentation system used to build a Quickref — API reference for all libraries, included into the Quicklisp.

This project is a part of the CL Doc Systems — attempt to create a comprehensive set of examples of different Common Lisp documentation systems.

1.1 Pros & Cons

1.1.1 Pros

1.1.2 Cons


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 example

Author

Alexander Artemenko

License

MIT

Description

This description will be used only if long-description is missing

Long Description

Test long description. Both descriptions will be shown in the docs.

Dependency

example/app (system)

Source

example.asd (file)

Directory

/home/runner/work/declt/declt/


Next: , Previous: , Up: Systems   [Contents][Index]

2.2 example/app

Author

Alexander Artemenko

License

MIT

Dependencies
Source

example.asd (file)

Directory

/home/runner/work/declt/declt/

Component

file-type.lisp (file)


Next: , Previous: , Up: Systems   [Contents][Index]

2.3 example/utils

Author

Alexander Artemenko

License

MIT

Source

example.asd (file)

Directory

/home/runner/work/declt/declt/

Component

file-type.lisp (file)


Previous: , Up: Systems   [Contents][Index]

2.4 example/class

Author

Alexander Artemenko

License

MIT

Source

example.asd (file)

Directory

/home/runner/work/declt/declt/

Component

file-type.lisp (file)


Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 example.asd

Location

/home/runner/work/declt/declt/example.asd

Systems

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 example/app/file-type.lisp

Parent

example/app (system)

Location

app.lisp

Packages

example/app

Exported Definitions

foo (function)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 example/utils/file-type.lisp

Parent

example/utils (system)

Location

utils.lisp

Packages

example/utils

Exported Definitions

do-the-job (function)

Internal Definitions

concat (function)


Previous: , Up: Lisp files   [Contents][Index]

3.1.4 example/class/file-type.lisp

Parent

example/class (system)

Location

class.lisp

Packages

example/class

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

4.1 example/app

This is docstring for the EXAMPLE/APP package.

The package contains a FOO function which does it’s job by applying transformation to the first and second arguments.

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions

foo (function)


Next: , Previous: , Up: Packages   [Contents][Index]

4.2 example/utils

The utils package.

The only exported function DO-THE-JOB will be show in a separate section "Exported Definitions".

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions

do-the-job (function)

Internal Definitions

concat (function)


Previous: , Up: Packages   [Contents][Index]

4.3 example/class

This package demonstrates how Declt displays classes and generic functions.

The key consept is USER class

It is possible to check if user has admin privileges, using this IS-ADMIN function.

Right now, IS-ADMIN returns T only for objects of class ADMIN.

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Functions

Function: do-the-job FIRST SECOND

The function does the job.

It CONCATENATES first and second arguments
calling internal function concat.

On this multiline we’ll check how does documentation system processes docstrings.

NOTE: pay attention the Texinfo markup in the second paragraph does not supported in docstrings and I was not able to make CONCATENATES word bold :(

Package

example/utils

Source

file-type.lisp (file)

Function: foo FIRST &key OTHER

This is example function.

* FIRST - Just a first argument.
* OTHER - Optional keyword argument. Default is 100500.

Returns: A string with first and other concatenated.

Internally it calls EXAMPLE/UTILS:DO-THE-JOB
to do the real job.

Note, that the link above is broken, but Coo does not warn us when building the docs. Sphinx issues a warning inn such case.

Package

example/app

Source

file-type.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Classes

Class: admin ()

Admins should have additional priveleges.

Package

example/class

Source

file-type.lisp (file)

Direct superclasses

user (class)

Direct methods

is-admin (method)

Class: non-documented-user ()
Package

example/class

Source

file-type.lisp (file)

Direct superclasses

user (class)

Class: user ()

All users in the system have this class.

Last login slot is updated automatically.

Package

example/class

Source

file-type.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: name

A full username.

Type

string

Initargs

:name

Readers

name (generic function)

Slot: email

Correct email address.

Type

string

Initargs

:email

Readers

email (generic function)

Slot: last-login-at
Readers

last-login-at (generic function)

Writers

(setf last-login-at) (generic function)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Functions

Function: concat FIRST SECOND

This function is not exported and should not be showed in the API reference.

Package

example/utils

Source

file-type.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Generic functions

Generic Function: email OBJECT
Package

example/class

Methods
Method: email (USER user)

Correct email address.

Source

file-type.lisp (file)

Generic Function: is-admin USER

Returns t if user can modify the system.

Package

example/class

Source

file-type.lisp (file)

Methods
Method: is-admin (USER admin)
Method: is-admin (USER user)
Generic Function: last-login-at OBJECT
Generic Function: (setf last-login-at) NEW-VALUE OBJECT
Package

example/class

Methods
Method: last-login-at (USER user)

automatically generated reader method

Source

file-type.lisp (file)

Method: (setf last-login-at) NEW-VALUE (USER user)

automatically generated writer method

Source

file-type.lisp (file)

Generic Function: name OBJECT
Package

example/class

Methods
Method: name (USER user)

A full username.

Source

file-type.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Classes

Class: inner-documented-user ()

This class only to demostrate how Declt’s separates exported symbols from internal.

It will not be shown in the separate section "Internal Definitions".

Package

example/class

Source

file-type.lisp (file)

Direct superclasses

user (class)


Next: , Previous: , Up: Top   [Contents][Index]

6 Conclusion

Declt can be used be used when you need to generate API reference for third-party libraries as Quickref does for all Quicklisp libraries.

Ability to generate docs in different formats also might be interesting.

But the lack of markup support for docstrings and cross-reference helpers along with limited ability to create free form documentation chapters makes Declt useless for documenting 40Ants projects.


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   E   F   L  
Index Entry  Section

E
example.asd: The example․asd file
example/app/file-type.lisp: The example/app/file-type․lisp file
example/class/file-type.lisp: The example/class/file-type․lisp file
example/utils/file-type.lisp: The example/utils/file-type․lisp file

F
File, Lisp, example.asd: The example․asd file
File, Lisp, example/app/file-type.lisp: The example/app/file-type․lisp file
File, Lisp, example/class/file-type.lisp: The example/class/file-type․lisp file
File, Lisp, example/utils/file-type.lisp: The example/utils/file-type․lisp file

L
Lisp File, example.asd: The example․asd file
Lisp File, example/app/file-type.lisp: The example/app/file-type․lisp file
Lisp File, example/class/file-type.lisp: The example/class/file-type․lisp file
Lisp File, example/utils/file-type.lisp: The example/utils/file-type․lisp file

Jump to:   E   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
C   D   E   F   G   I   L   M   N  
Index Entry  Section

(
(setf last-login-at): Internal generic functions
(setf last-login-at): Internal generic functions

C
concat: Internal functions

D
do-the-job: Exported functions

E
email: Internal generic functions
email: Internal generic functions

F
foo: Exported functions
Function, concat: Internal functions
Function, do-the-job: Exported functions
Function, foo: Exported functions

G
Generic Function, (setf last-login-at): Internal generic functions
Generic Function, email: Internal generic functions
Generic Function, is-admin: Internal generic functions
Generic Function, last-login-at: Internal generic functions
Generic Function, name: Internal generic functions

I
is-admin: Internal generic functions
is-admin: Internal generic functions
is-admin: Internal generic functions

L
last-login-at: Internal generic functions
last-login-at: Internal generic functions

M
Method, (setf last-login-at): Internal generic functions
Method, email: Internal generic functions
Method, is-admin: Internal generic functions
Method, is-admin: Internal generic functions
Method, last-login-at: Internal generic functions
Method, name: Internal generic functions

N
name: Internal generic functions
name: Internal generic functions

Jump to:   (  
C   D   E   F   G   I   L   M   N  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   E   L   N   S  
Index Entry  Section

E
email: Exported classes

L
last-login-at: Exported classes

N
name: Exported classes

S
Slot, email: Exported classes
Slot, last-login-at: Exported classes
Slot, name: Exported classes

Jump to:   E   L   N   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   E   I   N   P   S   U  
Index Entry  Section

A
admin: Exported classes

C
Class, admin: Exported classes
Class, inner-documented-user: Internal classes
Class, non-documented-user: Exported classes
Class, user: Exported classes

E
example: The example system
example/app: The example/app system
example/app: The example/app package
example/class: The example/class system
example/class: The example/class package
example/utils: The example/utils system
example/utils: The example/utils package

I
inner-documented-user: Internal classes

N
non-documented-user: Exported classes

P
Package, example/app: The example/app package
Package, example/class: The example/class package
Package, example/utils: The example/utils package

S
System, example: The example system
System, example/app: The example/app system
System, example/class: The example/class system
System, example/utils: The example/utils system

U
user: Exported classes

Jump to:   A   C   E   I   N   P   S   U