The 40ants-doc Reference Manual

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

The 40ants-doc Reference Manual

This is the 40ants-doc Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Thu Sep 15 04:38:16 2022 GMT+0.

Table of Contents


1 Introduction

40ANTS-DOC Documentation Generator

About this fork

This system is a fork of MGL-PAX.

There are a few reasons, why I've created the fork.

The main goal is to extract a core features into the 40ants-doc system with as little dependencies as possible. This is important, because with MGL-PAX's style, you define documentation sections in your library's code, which makes it dependent on the documentation system. However, heavy weight dependencies like IRONCLAD, 3BMD or SWANK should not be required.

The seconds goal was to refactor a 3.5k lines of pax.lisp file into a smaller modules to make navigation easier. This will help any person who will decide to learn how the documentation builder works. Also, granular design will make it possible loading subsystems like SLIME or SLY integration.

The third goal was to make documentation processing more sequential and hackable. To introduce hooks for adding new markup languages, and HTML themes.

Why this fork is different

Here are features already implemented in this fork:

WARNING: Unable to find target for reference #<XREF "FIND-SOURCE" GENERIC-FUNCTION> mentioned at 40Ants Doc Manual / Extension API / Reference Based Extensions

I'm planning to extend this fork even more. Read todo section to learn about proposed features or start a new discussion on the GitHub to suggest a new feature.

See full list of changes in the ChangeLog section.

Full Documentation

Read full documentation at site 40ants.com/doc/.

Tutorial

40ants-doc provides an extremely poor man's Explorable Programming environment. Narrative primarily lives in so called sections that mix markdown docstrings with references to functions, variables, etc, all of which should probably have their own docstrings.

The primary focus is on making code easily explorable by using SLIME's M-. (slime-edit-definition). See how to enable some fanciness in Emacs Integration. Generating documentation from sections and all the referenced items in Markdown or HTML format is also implemented.

With the simplistic tools provided, one may accomplish similar effects as with Literate Programming, but documentation is generated from code, not vice versa and there is no support for chunking yet. Code is first, code must look pretty, documentation is code.

When the code is loaded into the lisp, pressing M-. in SLIME on the name of the section will take you there. Sections can also refer to other sections, packages, functions, etc and you can keep exploring.

Here is an example of how it all works together:

(uiop:define-package #:foo-random
  (:documentation "This package provides various utilities for
                   random. See @FOO-RANDOM-MANUAL.")
  (:use #:common-lisp
        #:40ants-doc)
  (:import-from #:40ants-doc/ignored-words
                #:ignore-words-in-package)
  (:export #:foo-random-state
           #:state
           #:*foo-state*
           #:gaussian-random
           #:uniform-random))

(in-package foo-random)

(defsection @foo-random-manual (:title "Foo Random manual"
                                :ignore-words ("FOO"))
  "Here you describe what's common to all the referenced (and
   exported) functions that follow. They work with *FOO-STATE*,
   and have a :RANDOM-STATE keyword arg. Also explain when to
   choose which."
  (foo-random-state class)
  (state (reader foo-random-state))
  
  "Hey we can also print states!"
  
  (print-object (method () (foo-random-state t)))
  (*foo-state* variable)
  (gaussian-random function)
  (uniform-random function)
  ;; this is a subsection
  (@foo-random-examples section))

(defclass foo-random-state ()
  ((state :reader state
          :documentation "Returns random foo's state.")))

(defmethod print-object ((object foo-random-state) stream)
  (print-unreadable-object (object stream :type t)))

(defvar *foo-state* (make-instance 'foo-random-state)
  "Much like *RANDOM-STATE* but uses the FOO algorithm.")

(defun uniform-random (limit &key (random-state *foo-state*))
  "Return a random number from the between 0 and LIMIT (exclusive)
   uniform distribution."
  (declare (ignore limit random-state))
  nil)

(defun gaussian-random (stddev &key (random-state *foo-state*))
  "Return not a random number from a zero mean normal distribution with
   STDDEV."
  (declare (ignore stddev random-state))
  nil)

(defsection @foo-random-examples (:title "Examples")
  "Let's see the transcript of a real session of someone working
   with FOO:

   ```cl-transcript
   (values (princ :hello) (list 1 2))
   .. HELLO
   => :HELLO
   => (1 2)

   (make-instance 'foo-random-state)
   ==> #<FOO-RANDOM-STATE >
   ```")

Generating documentation in a very stripped down markdown format is easy:

(40ants-doc/builder:render-to-string
  @foo-random-manual
  :format :markdown)

For this example, the generated markdown would look like this:

<a id="x-28FOO-RANDOM-3A-3A-40FOO-RANDOM-MANUAL-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

# Foo Random manual

Here you describe what's common to all the referenced (and
exported) functions that follow. They work with [`*foo-state*`][2133],
and have a `:RANDOM-STATE` keyword arg. Also explain when to
choose which.

<a id="x-28FOO-RANDOM-3AFOO-RANDOM-STATE-20CLASS-29"></a>

## [class](aced) `foo-random:foo-random-state` ()

<a id="x-28FOO-RANDOM-3ASTATE-20-2840ANTS-DOC-2FLOCATIVES-3AREADER-20FOO-RANDOM-3AFOO-RANDOM-STATE-29-29"></a>

## [reader](e398) `foo-random:state` (foo-random-state) ()

Returns random foo's state.

Hey we can also print states!

<a id="x-28PRINT-OBJECT-20-28METHOD-20NIL-20-28FOO-RANDOM-3AFOO-RANDOM-STATE-20T-29-29-29"></a>

## [method](84cf) `common-lisp:print-object` (object foo-random-state) stream

<a id="x-28FOO-RANDOM-3A-2AFOO-STATE-2A-20-28VARIABLE-29-29"></a>

## [variable](e938) `foo-random:*foo-state*` #<foo-random-state >

Much like `*RANDOM-STATE*` but uses the `FOO` algorithm.

<a id="x-28FOO-RANDOM-3AGAUSSIAN-RANDOM-20FUNCTION-29"></a>

## [function](2ce9) `foo-random:gaussian-random` stddev &key (random-state \*foo-state\*)

Return not a random number from a zero mean normal distribution with
`STDDEV`.

<a id="x-28FOO-RANDOM-3AUNIFORM-RANDOM-20FUNCTION-29"></a>

## [function](12b0) `foo-random:uniform-random` limit &key (random-state \*foo-state\*)

Return a random number from the between 0 and `LIMIT` (exclusive)
uniform distribution.

<a id="x-28FOO-RANDOM-3A-3A-40FOO-RANDOM-EXAMPLES-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

## Examples

Let's see the transcript of a real session of someone working
with `FOO`:

```cl-transcript
(values (princ :hello) (list 1 2))
.. HELLO
=> :HELLO
=> (1 2)

(make-instance 'foo-random-state)
==> #<FOO-RANDOM-STATE >
```

[2133]: #x-28FOO-RANDOM-3A-2AFOO-STATE-2A-20-28VARIABLE-29-29
[aced]: https://github.com/40ants/doc/blob/7b67812ea9084c3e161db4ac16b41706120ba10d/tutorial.lisp#L34
[e398]: https://github.com/40ants/doc/blob/7b67812ea9084c3e161db4ac16b41706120ba10d/tutorial.lisp#L35
[84cf]: https://github.com/40ants/doc/blob/7b67812ea9084c3e161db4ac16b41706120ba10d/tutorial.lisp#L38
[e938]: https://github.com/40ants/doc/blob/7b67812ea9084c3e161db4ac16b41706120ba10d/tutorial.lisp#L41
[12b0]: https://github.com/40ants/doc/blob/7b67812ea9084c3e161db4ac16b41706120ba10d/tutorial.lisp#L44
[2ce9]: https://github.com/40ants/doc/blob/7b67812ea9084c3e161db4ac16b41706120ba10d/tutorial.lisp#L50

MGL-PAX supported the plain text format which was more readble when viewed from a simple text editor, but I've dropped support for plain text in this fork because most time documentation are read in the browser these days.

To render into the files, use 40ants-doc/builder:render-to-files and 40ants-doc/builder:update-asdf-system-docs functions.

Last one can even generate documentation for different, but related libraries at the same time with the output going to different files, but with cross-page links being automatically added for symbols mentioned in docstrings. See Generating Documentation for some convenience functions to cover the most common cases.

Note how (*FOO-STATE* VARIABLE) in the defsection form includes its documentation in @FOO-RANDOM-MANUAL. The symbols variable and function are just two instances of 'locatives' which are used in defsection to refer to definitions tied to symbols. See Locative Types.

The transcript in the code block tagged with cl-transcript is automatically checked for up-to-dateness. See Transcripts.

TODO


[generated by 40ANTS-DOC]

2 Systems

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


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

2.1 40ants-doc

Allows to put documentation inside lisp files and cross-reference between different entities. Based on MGL-PAX.

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Version

0.1.0

Dependencies
Source

40ants-doc.asd.


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

2.2 40ants-doc/core

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependencies
Source

40ants-doc.asd.


2.3 40ants-doc/reference

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependencies
Source

40ants-doc.asd.


2.4 40ants-doc/reference-api

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Source

40ants-doc.asd.


2.5 40ants-doc/source-api

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependencies
  • named-readtables (system).
  • pythonic-string-reader (system).
Source

40ants-doc.asd.


2.6 40ants-doc/locatives

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependency

asdf (system).

Source

40ants-doc.asd.


2.7 40ants-doc/locatives/base

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependencies
Source

40ants-doc.asd.


2.8 40ants-doc/object-package

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Source

40ants-doc.asd.


2.9 40ants-doc/docstring

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Source

40ants-doc.asd.


2.10 40ants-doc/restart

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependencies
Source

40ants-doc.asd.


2.11 40ants-doc/locatives/define-definer

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependency

40ants-doc/locatives/base (system).

Source

40ants-doc.asd.


2.12 40ants-doc/glossary

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependency

40ants-doc/core (system).

Source

40ants-doc.asd.


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

2.13 40ants-doc/changelog

Author

Alexander Artemenko

Contact

svetlyak.40wt@gmail.com

Home Page

https://40ants.com/doc

Source Control

(GIT https://github.com/40ants/doc)

Bug Tracker

https://github.com/40ants/doc/issues

License

MIT

Dependencies
  • 40ants-doc/core (system).
  • pythonic-string-reader (system).
  • named-readtables (system).
Source

40ants-doc.asd.


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


3.1.2 40ants-doc/core/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/core (system).

Packages

40ants-doc.

Public Interface
Internals

3.1.3 40ants-doc/reference/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/reference (system).

Packages

40ants-doc/reference.

Public Interface
Internals

3.1.4 40ants-doc/reference-api/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/reference-api (system).

Packages

40ants-doc/reference-api.

Public Interface
Internals

reference-name (generic function).


3.1.5 40ants-doc/source-api/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/source-api (system).

Packages

40ants-doc/source-api.

Public Interface

find-source (generic function).


3.1.6 40ants-doc/locatives/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/locatives (system).

Packages

40ants-doc/locatives.


3.1.7 40ants-doc/locatives/base/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/locatives/base (system).

Packages

40ants-doc/locatives/base.

Public Interface
Internals

3.1.8 40ants-doc/object-package/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/object-package (system).

Packages

40ants-doc/object-package.

Internals

object-package (generic function).


3.1.9 40ants-doc/docstring/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/docstring (system).

Packages

40ants-doc/docstring.

Public Interface
Internals

3.1.10 40ants-doc/restart/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/restart (system).

Packages

40ants-doc/restart.

Public Interface

define-restart (macro).


3.1.11 40ants-doc/locatives/define-definer/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/locatives/define-definer (system).

Packages

40ants-doc/locatives/define-definer.

Public Interface

define-definer-for-symbol-locative-type (macro).

Internals

expand-define-definer-for-symbol-as-locative-definer-body (function).


3.1.12 40ants-doc/glossary/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/glossary (system).

Packages

40ants-doc/glossary.

Public Interface
Internals

3.1.13 40ants-doc/changelog/file-type.lisp

Source

40ants-doc.asd.

Parent Component

40ants-doc/changelog (system).

Packages

40ants-doc/changelog.

Public Interface
Internals

4 Packages

Packages are listed by definition order.


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

4.1 40ants-doc/glossary

Source

file-type.lisp.

Use List

common-lisp.

Public Interface

define-glossary-term (macro).

Internals

4.2 40ants-doc/source-api

Source

file-type.lisp.

Use List

common-lisp.

Public Interface

find-source (generic function).


4.3 40ants-doc/locatives

This package holds all symbols denoting 40ANTS-DOC locatives.

It serves for a forward declaration of supported locatives.
To build documentation you’ll need to load the 40ANTS-DOC-FULL system which includes methods supporting these locatives.

Source

file-type.lisp.

Use List

common-lisp.


4.4 40ants-doc/locatives/define-definer

Source

file-type.lisp.

Use List

common-lisp.

Public Interface

define-definer-for-symbol-locative-type (macro).

Internals

expand-define-definer-for-symbol-as-locative-definer-body (function).


4.5 40ants-doc/object-package

Source

file-type.lisp.

Use List

common-lisp.

Internals

object-package (generic function).


4.6 40ants-doc/changelog

Source

file-type.lisp.

Use List

common-lisp.

Public Interface
Internals

4.7 40ants-doc/locatives/base

Source

file-type.lisp.

Use List

common-lisp.

Public Interface
Internals

4.8 40ants-doc/restart

Source

file-type.lisp.

Use List

common-lisp.

Public Interface

define-restart (macro).


4.9 40ants-doc/docstring

Source

file-type.lisp.

Use List

common-lisp.

Public Interface
Internals

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

4.10 40ants-doc/reference

Source

file-type.lisp.

Use List

common-lisp.

Public Interface
Internals

4.11 40ants-doc

See 40ANTS-DOC:@INDEX.

Source

file-type.lisp.

Nickname

40ants-doc/core

Use List

common-lisp.

Public Interface
Internals

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

4.12 40ants-doc/reference-api

Source

file-type.lisp.

Use List

common-lisp.

Public Interface
Internals

reference-name (generic function).


5 Definitions

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


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

5.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

5.1.1 Special variables

Special Variable: *discard-documentation-p*

The default value of DEFSECTION’s DISCARD-DOCUMENTATION-P argument. One may want to set ‘*DISCARD-DOCUMENTATION-P*‘ to true before building a binary application.

Package

40ants-doc.

Source

file-type.lisp.

Special Variable: *source-uri-fn*

Set this to a function of one argument.

The argument of this function will be a 40ANTS-DOC/REFERENCE:REFERENCE object and the result should be a full URL leading to the web page where referenced object can be viewed. Usually this is a GitHub’s page.

When you are using 40ANTS-DOC/BUILDER:UPDATE-ASDF-SYSTEM-DOCS,
this variable will be automatically bound to the result of 40ANTS-DOC/GITHUB:MAKE-GITHUB-SOURCE-URI-FN function call if
ASDF system has a :SOURCE-CONTROL slot.

See 40ANTS-DOC/GITHUB:MAKE-GITHUB-SOURCE-URI-FN for details.

Package

40ants-doc/reference-api.

Source

file-type.lisp.

Special Variable: @changelog
Package

40ants-doc/changelog.

Source

file-type.lisp.


5.1.2 Macros

Macro: defchangelog ((&key title ignore-words external-docs external-links) &body versions)

This macro might be used to define a ChangeLog in a structured way. With DEFCHANGELOG you specify a body where each sublist starts with a version number and the rest is it’s description in the markdown format. You can mention symbols from the rest of the documentation and they will be cross-linked automatically if you are using 40ANTS-DOC/BUILDER:UPDATE-ASDF-SYSTEM-DOCS function.

Here is an example:

“‘lisp
(defchangelog ()
(0.2.0
"- Feature B implemented.
- Bug was fixed in function FOO.")

(0.1.0
"- Project forked from [MGL-PAX](https://github.com/melisgl/mgl-pax). - Feature A implemented."))
“‘

Package

40ants-doc/changelog.

Source

file-type.lisp.

Macro: define-definer-for-symbol-locative-type (name locative-type &body docstring)

Define a macro with NAME which can be used to attach documentation, a lambda-list and source location to a symbol in the context of LOCATIVE-TYPE. The defined macro’s arglist is (SYMBOL LAMBDA-LIST &OPTIONAL DOCSTRING). LOCATIVE-TYPE is assumed to have been defined with 40ANTS-DOC/LOCATIVES/DEFINERS:DEFINE-SYMBOL-LOCATIVE-TYPE.

Package

40ants-doc/locatives/define-definer.

Source

file-type.lisp.

Macro: define-glossary-term (name (&key title discard-documentation-p) docstring)

Define a global variable with NAME and set it to a glossary term
object. A glossary term is just a symbol to hang a docstring on. It
is a bit like a 40ANTS-DOC:SECTION in that, when linked to, its TITLE will be the link text instead of the name of the symbol. Unlike sections
though, glossary terms are not rendered with headings, but in the
more lightweight bullet + locative + name/title style.

When DISCARD-DOCUMENTATION-P (defaults to 40ANTS-DOC:*DISCARD-DOCUMENTATION-P*) is true, DOCSTRING will not be recorded to save memory.

Package

40ants-doc/glossary.

Source

file-type.lisp.

Macro: define-locative-type (locative-type lambda-list &body docstring)

Declare LOCATIVE-TYPE as a locative. One gets two
things in return: first, a place to document the format and semantics of LOCATIVE-TYPE (in LAMBDA-LIST and DOCSTRING); second, being able to reference ‘(LOCATIVE-TYPE LOCATIVE)‘. For example, if you have:

“‘lisp
(define-locative-type variable (&optional initform)
"Dummy docstring.")
“‘

then ‘(VARIABLE LOCATIVE)‘ refers to this form.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Macro: define-restart (symbol lambda-list &body docstring)

A definer macro to hang the documentation of a restart on a
symbol.

“‘
(define-restart my-ignore-error ()
"Available when MY-ERROR is signalled, MY-IGNORE-ERROR unsafely continues.") “‘

Note that while there is a CL:RESTART class, there is no
corresponding source location or docstring like for CONDITIONs.

Package

40ants-doc/restart.

Source

file-type.lisp.

Macro: defsection (name (&key package-symbol readtable-symbol section-class export title link-title-to discard-documentation-p external-docs external-links ignore-words) &body entries)

Define a documentation section and maybe export referenced symbols.
A bit behind the scenes, a global variable with NAME is defined and
is bound to a [SECTION][class] object. By convention, section names
start with the character ‘@‘. See ‘40ANTS-DOC/DOC::@TUTORIAL‘ for an example.

ENTRIES consists of docstrings and references. Docstrings are
arbitrary strings in markdown format, references are defined in the forms:

(symbol locative) or ((symbol1 symbol2 ... symboln) locative)

For example, ‘(FOO FUNCTION)‘ refers to the function ‘FOO‘, ‘(@BAR SECTION)‘ says that ‘@BAR‘ is a subsection of this
one. ‘(BAZ (METHOD () (T T T)))‘ refers to the default method of the three argument generic function ‘BAZ‘. ‘(FOO FUNCTION)‘ is
equivalent to ‘(FOO (FUNCTION))‘.

A locative in a reference can either be a symbol or it can be a list whose CAR is a symbol. In either case, the symbol is the called the
type of the locative while the rest of the elements are the locative arguments. See 40ANTS-DOC/DOC::@LOCATIVE-TYPES for the list of locative types available out of the box.

The same symbol can occur multiple times in ENTRIES, typically
with different locatives, but this is not required.

The references are not looked up (see 40ANTS-DOC/REFERENCE:RESOLVE in the 40ANTS-DOC/DOC:@EXTENSION-API) until documentation is generated, so it is allowed to refer to things yet to be defined.

If you set :EXPORT to true, the referenced symbols and NAME are candidates for exporting. A candidate symbol is exported if

- it is accessible in PACKAGE (it’s not ‘OTHER-PACKAGE:SOMETHING‘) and

- there is a reference to it in the section being defined with a
locative whose type is approved by EXPORTABLE-LOCATIVE-TYPE-P.

The original idea with confounding documentation and exporting is to force documentation of all exported symbols. However when forking MGL-PAX into 40ANTS-DOC I’ve decided explicit imports make code more readable, and changed the default for :EXPORT argument to NIL and added automatic warnings to help find exported symbols not referenced from the documention.

If you decide to use ‘:EXPORT t‘ argument, note it will cause
[package variance](http://www.sbcl.org/manual/#Package-Variance)
error on SBCL. To prevent it, use UIOP:DEFINE-PACKAGE instead
of CL:DEFPACKAGE.

:TITLE is a non-marked-up string or NIL. If non-nil, it determines
the text of the heading in the generated output. :LINK-TITLE-TO is a reference given as an
‘(OBJECT LOCATIVE)‘ pair or NIL, to which the heading will link when generating HTML. If not specified, the heading will link to its own anchor.

When :DISCARD-DOCUMENTATION-P (defaults to *DISCARD-DOCUMENTATION-P*)
is true, ENTRIES will not be recorded to save memory.

EXTERNAL-DOCS argument can be a list of URLs leading to documentation
of other libraries. These libraries should be documented using 40ANTS-DOC and you’ll be able to mention symbols from them and have automatic cross-links.

EXTERNAL-LINKS argument could contain an alist of ("name" . "URL") pairs. These pairs will be tranformed to [name]: URL text and appended to each markdown part of the defined chapter. This argument is useful when you are having more than one text part in the chapter and want to reference same URL from all of them using short markdown links.

:IGNORE-WORDS allows to pass a list of strings which should not cause warnings. Usually these are uppercased words which are not symbols
in the current package, like SLIME, LISP, etc.

Package

40ants-doc.

Source

file-type.lisp.

Macro: defsection-copy (name section)

When you use [DOCS-BUILDER](https://40ants.com/docs-builder), you might want
to define a @readme variable to make README.md file with the same content as
your main documentation. This case might be popular for libraries having
a short documentation.

To define @readme as a copy of the main doc, export @readme symbol and do this in the code:

“‘lisp
(defparameter @readme (40ants-doc:copy-section @index))
“‘

Package

40ants-doc.

Source

file-type.lisp.


5.1.3 Ordinary functions

Function: get-docstring (object doc-type)
Package

40ants-doc/docstring.

Source

file-type.lisp.

Function: locate (object locative &key errorp)

Follow LOCATIVE from OBJECT and return the object it leads to or a 40ANTS-DOC/REFERENCE:REFERENCE if there is no first class object corresponding to the location. If ERRORP, then a LOCATE-ERROR condition is signaled when
the lookup fails.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Function: locate-error (&rest format-and-args)

Call this function to signal a LOCATE-ERROR condition from a
LOCATE-OBJECT generic-function. FORMAT-AND-ARGS contains a format string and args suitable for FORMAT from which the LOCATE-ERROR-MESSAGE is constructed. If FORMAT-AND-ARGS is NIL, then the message will be NIL too.

The object and the locative are not specified, they are added by
LOCATE when it resignals the condition.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Function: locative-args (locative)

The REST of LOCATIVE if it’s a list. If it’s a symbol then it’s ().

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Function: locative-equal (left right)

Compares two locatives.

Each locative may be a symbol or a locative with arugments in a list form.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Function: locative-type (locative)

The first element of LOCATIVE if it’s a list. If it’s a symbol then it’s that symbol itself. Typically, methods of generic functions working with locatives take locative type and locative args as separate arguments to allow methods have eql specializers on the type symbol.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Function: make-reference (object locative)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: resolve (reference &key errorp)

A convenience function to 40ANTS-DOC/LOCATIVES/BASE:LOCATE REFERENCE’s object with its locative.

Package

40ants-doc/reference.

Source

file-type.lisp.

Function: source-uri (reference)

Returns URI for the reference object
if *SOURCE-URI-FN* is bound to a function.

Package

40ants-doc/reference-api.

Source

file-type.lisp.

Function: strip-docstring-indentation (docstring &key first-line-special-p)

Normalize indentation of docstrings

Package

40ants-doc/docstring.

Source

file-type.lisp.


5.1.4 Generic functions

Generic Function: canonical-reference (object)

Return a 40ANTS-DOC/REFERENCE:REFERENCE that resolves to OBJECT.

Package

40ants-doc/reference-api.

Source

file-type.lisp.

Methods
Method: canonical-reference ((reference reference))
Source

file-type.lisp.

Generic Function: exportable-locative-type-p (locative-type)

Return true if symbols in references with
LOCATIVE-TYPE are to be exported when they occur in a
DEFSECTION having ‘:EXPORT t‘ argument. The default method returns T, while the methods for PACKAGE, ASDF:SYSTEM and METHOD return NIL.

DEFSECTION calls this function to decide what symbols to export when
its EXPORT argument is true.

Package

40ants-doc.

Source

file-type.lisp.

Methods
Method: exportable-locative-type-p ((locative-type (eql method)))
Method: exportable-locative-type-p ((locative-type (eql package)))
Method: exportable-locative-type-p ((locative-type (eql asdf/system:system)))
Method: exportable-locative-type-p (locative-type)
Generic Function: find-source (object)

Like SWANK:FIND-DEFINITION-FOR-THING, but this
one is a generic function to be extensible. In fact, the default implementation simply defers to SWANK:FIND-DEFINITION-FOR-THING.
This function is called by 40ANTS-DOC/SWANK:LOCATE-DEFINITION-FOR-EMACS which lies behind the ‘M-.‘ extension (see 40ANTS-DOC/DOC:@EMACS-INTEGRATION).

If successful, the return value looks like this:

“‘lisp
(:location (:file "/home/mega/own/mgl/pax/test/test.lisp")
(:position 24) nil)
“‘

The NIL is the source snippet which is optional. Note that position
1 is the first character. If unsuccessful, the return values is
like:

“‘lisp
(:error "Unknown source location for SOMETHING")
“‘

Package

40ants-doc/source-api.

Source

file-type.lisp.

Methods
Method: find-source ((reference reference))

If REFERENCE can be resolved to a non-reference, call 40ANTS-DOC/SOURCE-API:FIND-SOURCE generic-function with it, else call [40ANTS-DOC/LOCATIVES/BASE:LOCATE-AND-FIND-SOURCE][generic-function] on the object, locative-type, locative-args slots of REFERENCE.

Source

file-type.lisp.

Generic Function: locate-and-find-source (object locative-type locative-args)

Called by [40ANTS-DOC/SOURCE-API:FIND-SOURCE][(METHOD () (40ANTS-DOC/REFERENCE:REFERENCE))]
on 40ANTS-DOC/REFERENCE:REFERENCE objects, this
function has essentially the same purpose as 40ANTS-DOC/SOURCE-API:FIND-SOURCE generic-function but it has different arguments to allow specializing on LOCATIVE-TYPE.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Methods
Method: locate-and-find-source (object locative-type locative-args)

This default implementation simply calls 40ANTS-DOC/SOURCE-API:FIND-SOURCE with OBJECT which should cover the common case of a macro expanding to, for
instance, a defun but having its own locative type.

Generic Reader: locate-error-locative (condition)
Package

40ants-doc/locatives/base.

Methods
Reader Method: locate-error-locative ((condition locate-error))
Source

file-type.lisp.

Target Slot

locative.

Generic Reader: locate-error-message (condition)
Package

40ants-doc/locatives/base.

Methods
Reader Method: locate-error-message ((condition locate-error))
Source

file-type.lisp.

Target Slot

message.

Generic Reader: locate-error-object (condition)
Package

40ants-doc/locatives/base.

Methods
Reader Method: locate-error-object ((condition locate-error))
Source

file-type.lisp.

Target Slot

object.

Generic Function: locate-object (object locative-type locative-args)

Return the object, to which OBJECT and the locative
refer. For example, if LOCATIVE-TYPE is the symbol PACKAGE, this
returns ‘(FIND-PACKAGE SYMBOL)‘. Signal a LOCATE-ERROR condition by
calling the LOCATE-ERROR function if the lookup fails. Signal other
errors if the types of the argument are bad, for instance
LOCATIVE-ARGS is not the empty list in the package example. If a 40ANTS-DOC/REFERENCE:REFERENCE is returned then it must be canonical in the sense that calling 40ANTS-DOC/REFERENCE-API:CANONICAL-REFERENCE on it will return the same reference. For extension only, don’t call this directly.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Generic Reader: reference-locative (object)
Package

40ants-doc/reference.

Methods
Reader Method: reference-locative ((reference reference))

automatically generated reader method

Source

file-type.lisp.

Target Slot

locative.

Generic Reader: reference-object (object)
Package

40ants-doc/reference.

Methods
Reader Method: reference-object ((reference reference))

automatically generated reader method

Source

file-type.lisp.

Target Slot

object.

Generic Reader: section-entries (object)
Package

40ants-doc.

Methods
Reader Method: section-entries ((section section))

A list of strings and 40ANTS-DOC/REFERENCE:REFERENCE objects in the order they occurred in DEFSECTION.

Source

file-type.lisp.

Target Slot

entries.

Generic Reader: section-external-docs (object)
Package

40ants-doc.

Methods
Reader Method: section-external-docs ((section section))

A list of strings with URLs of other system’s documentation.

Source

file-type.lisp.

Target Slot

external-docs.

Generic Reader: section-ignore-words (object)
Package

40ants-doc.

Methods
Reader Method: section-ignore-words ((section section))

A list of strings to not warn about.

Source

file-type.lisp.

Target Slot

ignore-words.

Package

40ants-doc.

Methods

A 40ANTS-DOC/REFERENCE:REFERENCE or NIL. Used in generated documentation.

Source

file-type.lisp.

Target Slot

link-title-to.

Generic Reader: section-name (object)
Package

40ants-doc.

Methods
Reader Method: section-name ((section section))

The name of the global variable whose value is this SECTION object.

Source

file-type.lisp.

Target Slot

name.

Generic Reader: section-package (object)
Package

40ants-doc.

Methods
Reader Method: section-package ((section section))

*PACKAGE* will be bound to this package when generating documentation for this section.

Source

file-type.lisp.

Target Slot

package.

Generic Reader: section-readtable (object)
Package

40ants-doc.

Methods
Reader Method: section-readtable ((section section))

*READTABLE* will be bound to this when generating documentation for this section.

Source

file-type.lisp.

Target Slot

readtable.

Generic Reader: section-title (object)
Package

40ants-doc.

Methods
Reader Method: section-title ((section section))

STRING or NIL. Used in generated documentation.

Source

file-type.lisp.

Target Slot

title.


5.1.5 Standalone methods

Method: print-object ((glossary-term glossary-term) stream)
Source

file-type.lisp.

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

file-type.lisp.

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

file-type.lisp.


5.1.6 Conditions

Condition: locate-error

Signaled by LOCATE when the lookup fails and ERRORP is true.

Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: message
Initargs

:message

Readers

locate-error-message.

Writers

This slot is read-only.

Slot: object
Initargs

:object

Readers

locate-error-object.

Writers

This slot is read-only.

Slot: locative
Initargs

:locative

Readers

locate-error-locative.

Writers

This slot is read-only.


Previous: , Up: Public Interface   [Contents][Index]

5.1.7 Classes

Class: reference

A REFERENCE represents a path (REFERENCE-LOCATIVE) to take from an object (REFERENCE-OBJECT).

Package

40ants-doc/reference.

Source

file-type.lisp.

Direct subclasses

external-reference.

Direct methods
Direct slots
Slot: object
Initargs

:object

Readers

reference-object.

Writers

This slot is read-only.

Slot: locative
Initargs

:locative

Readers

reference-locative.

Writers

This slot is read-only.

Class: section

DEFSECTION stores its :NAME, :TITLE, :PACKAGE, :READTABLE and :ENTRIES in [SECTION][class] objects.

Package

40ants-doc.

Source

file-type.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name

The name of the global variable whose value is this SECTION object.

Type

symbol

Initargs

:name

Readers

section-name.

Writers

This slot is read-only.

Slot: package

*PACKAGE* will be bound to this package when generating documentation for this section.

Package

common-lisp.

Initargs

:package

Readers

section-package.

Writers

This slot is read-only.

Slot: readtable

*READTABLE* will be bound to this when generating documentation for this section.

Package

common-lisp.

Initargs

:readtable

Readers

section-readtable.

Writers

This slot is read-only.

Slot: title

STRING or NIL. Used in generated documentation.

Initargs

:title

Readers

section-title.

Writers

This slot is read-only.

A 40ANTS-DOC/REFERENCE:REFERENCE or NIL. Used in generated documentation.

Initargs

:link-title-to

Readers

section-link-title-to.

Writers

This slot is read-only.

Slot: entries

A list of strings and 40ANTS-DOC/REFERENCE:REFERENCE objects in the order they occurred in DEFSECTION.

Initargs

:entries

Readers

section-entries.

Writers

This slot is read-only.

Slot: external-docs

A list of strings with URLs of other system’s documentation.

Initargs

:external-docs

Readers

section-external-docs.

Writers

This slot is read-only.

Slot: ignore-words

A list of strings to not warn about.

Initargs

:ignore-words

Readers

section-ignore-words.

Writers

This slot is read-only.


5.2 Internals


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

5.2.1 Special variables

Special Variable: *reference-being-documented*
Package

40ants-doc/reference.

Source

file-type.lisp.

Special Variable: *references*
Package

40ants-doc/reference.

Source

file-type.lisp.

Special Variable: *whitespace-chars*
Package

40ants-doc/docstring.

Source

file-type.lisp.

Special Variable: 0.1.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.2.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.3.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.4.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.4.1
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.1
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.2
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.3
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.4
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.5
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.6
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.7
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.5.8
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.6.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.7.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.8.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: 0.9.0
Package

40ants-doc/changelog.

Source

file-type.lisp.

Special Variable: @index
Package

40ants-doc/changelog.

Source

file-type.lisp.


5.2.2 Ordinary functions

Function: blankp (string)
Package

40ants-doc/docstring.

Source

file-type.lisp.

Function: docstring-indentation (docstring &key first-line-special-p)
Package

40ants-doc/docstring.

Source

file-type.lisp.

Function: ensure-list (list)

If LIST is a list, it is returned. Otherwise returns the list designated by LIST.

Package

40ants-doc.

Source

file-type.lisp.

Function: entry-to-reference (entry)
Package

40ants-doc.

Source

file-type.lisp.

Function: expand-define-definer-for-symbol-as-locative-definer-body (symbol locative-type lambda-list docstring)
Package

40ants-doc/locatives/define-definer.

Source

file-type.lisp.

Function: export-some-symbols (name entries package)
Package

40ants-doc.

Source

file-type.lisp.

Function: external-reference-p (obj)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: filter-documentation (symbol doc-type)
Package

40ants-doc/docstring.

Source

file-type.lisp.

Function: locative-equal (locative-1 locative-2)
Package

40ants-doc.

Source

file-type.lisp.

Function: looks-like-date (item)
Package

40ants-doc/changelog.

Source

file-type.lisp.

Function: make-external-reference (object locative url)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: make-version-section (version content external-docs external-links)
Package

40ants-doc/changelog.

Source

file-type.lisp.

Function: n-leading-spaces (line)
Package

40ants-doc/docstring.

Source

file-type.lisp.

Function: reference-locative-type (reference)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: reference-to-anchor (reference)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: reference= (reference-1 reference-2)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: references-for-symbol (symbol refs n-chars-read)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: references-for-the-same-symbol-p (refs)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: resolve-dislocated (refs)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: resolve-generic-function-and-methods (refs)
Package

40ants-doc/reference.

Source

file-type.lisp.

Function: split-date-if-given (content)

Receives a list of entities and if first entity is a date in format 2021-09-24, then this date is removed from the content and returned as the first value. Rest entries are returned as the second value.

Package

40ants-doc/changelog.

Source

file-type.lisp.

Function: symbol-accessible-in-package-p (symbol package)
Package

40ants-doc.

Source

file-type.lisp.

Function: symbol-lambda-list-method (symbol locative-type)
Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Function: transform-entries (entries external-links)
Package

40ants-doc.

Source

file-type.lisp.

Package

40ants-doc.

Source

file-type.lisp.

Function: transform-locative-symbols (entries)
Package

40ants-doc.

Source

file-type.lisp.

Function: trim-whitespace (string)
Package

40ants-doc/docstring.

Source

file-type.lisp.

Function: whitespacep (char)
Package

40ants-doc/docstring.

Source

file-type.lisp.


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

5.2.3 Generic functions

Generic Reader: external-reference-url (object)
Package

40ants-doc/reference.

Methods
Reader Method: external-reference-url ((external-reference external-reference))

automatically generated reader method

Source

file-type.lisp.

Target Slot

url.

Generic Reader: glossary-term-docstring (object)
Package

40ants-doc/glossary.

Methods
Reader Method: glossary-term-docstring ((glossary-term glossary-term))

automatically generated reader method

Source

file-type.lisp.

Target Slot

docstring.

Generic Reader: glossary-term-name (object)
Package

40ants-doc/glossary.

Methods
Reader Method: glossary-term-name ((glossary-term glossary-term))

The name of the global variable whose value is this GLOSSARY-TERM object.

Source

file-type.lisp.

Target Slot

name.

Generic Reader: glossary-term-title (object)
Package

40ants-doc/glossary.

Methods
Reader Method: glossary-term-title ((glossary-term glossary-term))

Used in generated documentation.

Source

file-type.lisp.

Target Slot

title.

Generic Function: locative-lambda-list (symbol)
Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Generic Function: object-package (object)
Package

40ants-doc/object-package.

Source

file-type.lisp.

Methods
Method: object-package ((obj section))
Source

file-type.lisp.

Method: object-package ((obj reference))
Source

file-type.lisp.

Method: object-package (object)
Generic Function: reference-name (obj name ref link)
Package

40ants-doc/reference-api.

Source

file-type.lisp.

Generic Function: symbol-lambda-list (symbol locative-type)
Package

40ants-doc/locatives/base.

Source

file-type.lisp.

Generic Reader: version-date (object)
Generic Writer: (setf version-date) (object)
Package

40ants-doc/changelog.

Methods
Reader Method: version-date ((version version))
Writer Method: (setf version-date) ((version version))

This slot will contain a date in it’s unparsed form, as a string.
Because we don’t want to introduce dependency from LOCAL-TIME system for changelog definition. This value will be parsed later, when we’ll generate output.

Source

file-type.lisp.

Target Slot

date.


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

5.2.4 Classes

Class: changelog
Package

40ants-doc/changelog.

Source

file-type.lisp.

Direct superclasses

section.

Class: external-reference

A full URL of external entity.

Package

40ants-doc/reference.

Source

file-type.lisp.

Direct superclasses

reference.

Direct methods

external-reference-url.

Direct slots
Slot: url
Type

string

Initargs

:url

Readers

external-reference-url.

Writers

This slot is read-only.

Class: glossary-term
Package

40ants-doc/glossary.

Source

file-type.lisp.

Direct methods
Direct slots
Slot: name

The name of the global variable whose value is this GLOSSARY-TERM object.

Initargs

:name

Readers

glossary-term-name.

Writers

This slot is read-only.

Slot: title

Used in generated documentation.

Initargs

:title

Readers

glossary-term-title.

Writers

This slot is read-only.

Slot: docstring
Initargs

:docstring

Readers

glossary-term-docstring.

Writers

This slot is read-only.

Class: version
Package

40ants-doc/changelog.

Source

file-type.lisp.

Direct superclasses

section.

Direct methods
Direct slots
Slot: date

This slot will contain a date in it’s unparsed form, as a string.
Because we don’t want to introduce dependency from LOCAL-TIME system for changelog definition. This value will be parsed later, when we’ll generate output.

Type

(or null string)

Initargs

:date

Readers

version-date.

Writers

(setf version-date).


Appendix A Indexes


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

A.1 Concepts


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

A.2 Functions

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

(
(setf version-date): Private generic functions
(setf version-date): Private generic functions

B
blankp: Private ordinary functions

C
canonical-reference: Public generic functions
canonical-reference: Public generic functions

D
defchangelog: Public macros
define-definer-for-symbol-locative-type: Public macros
define-glossary-term: Public macros
define-locative-type: Public macros
define-restart: Public macros
defsection: Public macros
defsection-copy: Public macros
docstring-indentation: Private ordinary functions

E
ensure-list: Private ordinary functions
entry-to-reference: Private ordinary functions
expand-define-definer-for-symbol-as-locative-definer-body: Private ordinary functions
export-some-symbols: Private ordinary functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
exportable-locative-type-p: Public generic functions
external-reference-p: Private ordinary functions
external-reference-url: Private generic functions
external-reference-url: Private generic functions

F
filter-documentation: Private ordinary functions
find-source: Public generic functions
find-source: Public generic functions
Function, blankp: Private ordinary functions
Function, docstring-indentation: Private ordinary functions
Function, ensure-list: Private ordinary functions
Function, entry-to-reference: Private ordinary functions
Function, expand-define-definer-for-symbol-as-locative-definer-body: Private ordinary functions
Function, export-some-symbols: Private ordinary functions
Function, external-reference-p: Private ordinary functions
Function, filter-documentation: Private ordinary functions
Function, get-docstring: Public ordinary functions
Function, locate: Public ordinary functions
Function, locate-error: Public ordinary functions
Function, locative-args: Public ordinary functions
Function, locative-equal: Public ordinary functions
Function, locative-equal: Private ordinary functions
Function, locative-type: Public ordinary functions
Function, looks-like-date: Private ordinary functions
Function, make-external-reference: Private ordinary functions
Function, make-reference: Public ordinary functions
Function, make-version-section: Private ordinary functions
Function, n-leading-spaces: Private ordinary functions
Function, reference-locative-type: Private ordinary functions
Function, reference-to-anchor: Private ordinary functions
Function, reference=: Private ordinary functions
Function, references-for-symbol: Private ordinary functions
Function, references-for-the-same-symbol-p: Private ordinary functions
Function, resolve: Public ordinary functions
Function, resolve-dislocated: Private ordinary functions
Function, resolve-generic-function-and-methods: Private ordinary functions
Function, source-uri: Public ordinary functions
Function, split-date-if-given: Private ordinary functions
Function, strip-docstring-indentation: Public ordinary functions
Function, symbol-accessible-in-package-p: Private ordinary functions
Function, symbol-lambda-list-method: Private ordinary functions
Function, transform-entries: Private ordinary functions
Function, transform-link-title-to: Private ordinary functions
Function, transform-locative-symbols: Private ordinary functions
Function, trim-whitespace: Private ordinary functions
Function, whitespacep: Private ordinary functions

G
Generic Function, (setf version-date): Private generic functions
Generic Function, canonical-reference: Public generic functions
Generic Function, exportable-locative-type-p: Public generic functions
Generic Function, external-reference-url: Private generic functions
Generic Function, find-source: Public generic functions
Generic Function, glossary-term-docstring: Private generic functions
Generic Function, glossary-term-name: Private generic functions
Generic Function, glossary-term-title: Private generic functions
Generic Function, locate-and-find-source: Public generic functions
Generic Function, locate-error-locative: Public generic functions
Generic Function, locate-error-message: Public generic functions
Generic Function, locate-error-object: Public generic functions
Generic Function, locate-object: Public generic functions
Generic Function, locative-lambda-list: Private generic functions
Generic Function, object-package: Private generic functions
Generic Function, reference-locative: Public generic functions
Generic Function, reference-name: Private generic functions
Generic Function, reference-object: Public generic functions
Generic Function, section-entries: Public generic functions
Generic Function, section-external-docs: Public generic functions
Generic Function, section-ignore-words: Public generic functions
Generic Function, section-link-title-to: Public generic functions
Generic Function, section-name: Public generic functions
Generic Function, section-package: Public generic functions
Generic Function, section-readtable: Public generic functions
Generic Function, section-title: Public generic functions
Generic Function, symbol-lambda-list: Private generic functions
Generic Function, version-date: Private generic functions
get-docstring: Public ordinary functions
glossary-term-docstring: Private generic functions
glossary-term-docstring: Private generic functions
glossary-term-name: Private generic functions
glossary-term-name: Private generic functions
glossary-term-title: Private generic functions
glossary-term-title: Private generic functions

L
locate: Public ordinary functions
locate-and-find-source: Public generic functions
locate-and-find-source: Public generic functions
locate-error: Public ordinary functions
locate-error-locative: Public generic functions
locate-error-locative: Public generic functions
locate-error-message: Public generic functions
locate-error-message: Public generic functions
locate-error-object: Public generic functions
locate-error-object: Public generic functions
locate-object: Public generic functions
locative-args: Public ordinary functions
locative-equal: Public ordinary functions
locative-equal: Private ordinary functions
locative-lambda-list: Private generic functions
locative-type: Public ordinary functions
looks-like-date: Private ordinary functions

M
Macro, defchangelog: Public macros
Macro, define-definer-for-symbol-locative-type: Public macros
Macro, define-glossary-term: Public macros
Macro, define-locative-type: Public macros
Macro, define-restart: Public macros
Macro, defsection: Public macros
Macro, defsection-copy: Public macros
make-external-reference: Private ordinary functions
make-reference: Public ordinary functions
make-version-section: Private ordinary functions
Method, (setf version-date): Private generic functions
Method, canonical-reference: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, exportable-locative-type-p: Public generic functions
Method, external-reference-url: Private generic functions
Method, find-source: Public generic functions
Method, glossary-term-docstring: Private generic functions
Method, glossary-term-name: Private generic functions
Method, glossary-term-title: Private generic functions
Method, locate-and-find-source: Public generic functions
Method, locate-error-locative: Public generic functions
Method, locate-error-message: Public generic functions
Method, locate-error-object: Public generic functions
Method, object-package: Private generic functions
Method, object-package: Private generic functions
Method, object-package: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, reference-locative: Public generic functions
Method, reference-object: Public generic functions
Method, section-entries: Public generic functions
Method, section-external-docs: Public generic functions
Method, section-ignore-words: Public generic functions
Method, section-link-title-to: Public generic functions
Method, section-name: Public generic functions
Method, section-package: Public generic functions
Method, section-readtable: Public generic functions
Method, section-title: Public generic functions
Method, version-date: Private generic functions

N
n-leading-spaces: Private ordinary functions

O
object-package: Private generic functions
object-package: Private generic functions
object-package: Private generic functions
object-package: Private generic functions

P
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods

R
reference-locative: Public generic functions
reference-locative: Public generic functions
reference-locative-type: Private ordinary functions
reference-name: Private generic functions
reference-object: Public generic functions
reference-object: Public generic functions
reference-to-anchor: Private ordinary functions
reference=: Private ordinary functions
references-for-symbol: Private ordinary functions
references-for-the-same-symbol-p: Private ordinary functions
resolve: Public ordinary functions
resolve-dislocated: Private ordinary functions
resolve-generic-function-and-methods: Private ordinary functions

S
section-entries: Public generic functions
section-entries: Public generic functions
section-external-docs: Public generic functions
section-external-docs: Public generic functions
section-ignore-words: Public generic functions
section-ignore-words: Public generic functions
section-link-title-to: Public generic functions
section-link-title-to: Public generic functions
section-name: Public generic functions
section-name: Public generic functions
section-package: Public generic functions
section-package: Public generic functions
section-readtable: Public generic functions
section-readtable: Public generic functions
section-title: Public generic functions
section-title: Public generic functions
source-uri: Public ordinary functions
split-date-if-given: Private ordinary functions
strip-docstring-indentation: Public ordinary functions
symbol-accessible-in-package-p: Private ordinary functions
symbol-lambda-list: Private generic functions
symbol-lambda-list-method: Private ordinary functions

T
transform-entries: Private ordinary functions
transform-link-title-to: Private ordinary functions
transform-locative-symbols: Private ordinary functions
trim-whitespace: Private ordinary functions

V
version-date: Private generic functions
version-date: Private generic functions

W
whitespacep: Private ordinary functions

Jump to:   (  
B   C   D   E   F   G   L   M   N   O   P   R   S   T   V   W  

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

A.3 Variables

Jump to:   *   0   @  
D   E   I   L   M   N   O   P   R   S   T   U  
Index Entry  Section

*
*discard-documentation-p*: Public special variables
*reference-being-documented*: Private special variables
*references*: Private special variables
*source-uri-fn*: Public special variables
*whitespace-chars*: Private special variables

0
0.1.0: Private special variables
0.2.0: Private special variables
0.3.0: Private special variables
0.4.0: Private special variables
0.4.1: Private special variables
0.5.0: Private special variables
0.5.1: Private special variables
0.5.2: Private special variables
0.5.3: Private special variables
0.5.4: Private special variables
0.5.5: Private special variables
0.5.6: Private special variables
0.5.7: Private special variables
0.5.8: Private special variables
0.6.0: Private special variables
0.7.0: Private special variables
0.8.0: Private special variables
0.9.0: Private special variables

@
@changelog: Public special variables
@index: Private special variables

D
date: Private classes
docstring: Private classes

E
entries: Public classes
external-docs: Public classes

I
ignore-words: Public classes

L
link-title-to: Public classes
locative: Public conditions
locative: Public classes

M
message: Public conditions

N
name: Public classes
name: Private classes

O
object: Public conditions
object: Public classes

P
package: Public classes

R
readtable: Public classes

S
Slot, date: Private classes
Slot, docstring: Private classes
Slot, entries: Public classes
Slot, external-docs: Public classes
Slot, ignore-words: Public classes
Slot, link-title-to: Public classes
Slot, locative: Public conditions
Slot, locative: Public classes
Slot, message: Public conditions
Slot, name: Public classes
Slot, name: Private classes
Slot, object: Public conditions
Slot, object: Public classes
Slot, package: Public classes
Slot, readtable: Public classes
Slot, title: Public classes
Slot, title: Private classes
Slot, url: Private classes
Special Variable, *discard-documentation-p*: Public special variables
Special Variable, *reference-being-documented*: Private special variables
Special Variable, *references*: Private special variables
Special Variable, *source-uri-fn*: Public special variables
Special Variable, *whitespace-chars*: Private special variables
Special Variable, 0.1.0: Private special variables
Special Variable, 0.2.0: Private special variables
Special Variable, 0.3.0: Private special variables
Special Variable, 0.4.0: Private special variables
Special Variable, 0.4.1: Private special variables
Special Variable, 0.5.0: Private special variables
Special Variable, 0.5.1: Private special variables
Special Variable, 0.5.2: Private special variables
Special Variable, 0.5.3: Private special variables
Special Variable, 0.5.4: Private special variables
Special Variable, 0.5.5: Private special variables
Special Variable, 0.5.6: Private special variables
Special Variable, 0.5.7: Private special variables
Special Variable, 0.5.8: Private special variables
Special Variable, 0.6.0: Private special variables
Special Variable, 0.7.0: Private special variables
Special Variable, 0.8.0: Private special variables
Special Variable, 0.9.0: Private special variables
Special Variable, @changelog: Public special variables
Special Variable, @index: Private special variables

T
title: Public classes
title: Private classes

U
url: Private classes

Jump to:   *   0   @  
D   E   I   L   M   N   O   P   R   S   T   U  

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

A.4 Data types

Jump to:   4  
C   E   F   G   L   P   R   S   V  
Index Entry  Section

4
40ants-doc: The 40ants-doc system
40ants-doc: The 40ants-doc package
40ants-doc.asd: The 40ants-doc/40ants-doc․asd file
40ants-doc/changelog: The 40ants-doc/changelog system
40ants-doc/changelog: The 40ants-doc/changelog package
40ants-doc/core: The 40ants-doc/core system
40ants-doc/docstring: The 40ants-doc/docstring system
40ants-doc/docstring: The 40ants-doc/docstring package
40ants-doc/glossary: The 40ants-doc/glossary system
40ants-doc/glossary: The 40ants-doc/glossary package
40ants-doc/locatives: The 40ants-doc/locatives system
40ants-doc/locatives: The 40ants-doc/locatives package
40ants-doc/locatives/base: The 40ants-doc/locatives/base system
40ants-doc/locatives/base: The 40ants-doc/locatives/base package
40ants-doc/locatives/define-definer: The 40ants-doc/locatives/define-definer system
40ants-doc/locatives/define-definer: The 40ants-doc/locatives/define-definer package
40ants-doc/object-package: The 40ants-doc/object-package system
40ants-doc/object-package: The 40ants-doc/object-package package
40ants-doc/reference: The 40ants-doc/reference system
40ants-doc/reference: The 40ants-doc/reference package
40ants-doc/reference-api: The 40ants-doc/reference-api system
40ants-doc/reference-api: The 40ants-doc/reference-api package
40ants-doc/restart: The 40ants-doc/restart system
40ants-doc/restart: The 40ants-doc/restart package
40ants-doc/source-api: The 40ants-doc/source-api system
40ants-doc/source-api: The 40ants-doc/source-api package

C
changelog: Private classes
Class, changelog: Private classes
Class, external-reference: Private classes
Class, glossary-term: Private classes
Class, reference: Public classes
Class, section: Public classes
Class, version: Private classes
Condition, locate-error: Public conditions

E
external-reference: Private classes

F
File, 40ants-doc.asd: The 40ants-doc/40ants-doc․asd file
File, file-type.lisp: The 40ants-doc/core/file-type․lisp file
File, file-type.lisp: The 40ants-doc/reference/file-type․lisp file
File, file-type.lisp: The 40ants-doc/reference-api/file-type․lisp file
File, file-type.lisp: The 40ants-doc/source-api/file-type․lisp file
File, file-type.lisp: The 40ants-doc/locatives/file-type․lisp file
File, file-type.lisp: The 40ants-doc/locatives/base/file-type․lisp file
File, file-type.lisp: The 40ants-doc/object-package/file-type․lisp file
File, file-type.lisp: The 40ants-doc/docstring/file-type․lisp file
File, file-type.lisp: The 40ants-doc/restart/file-type․lisp file
File, file-type.lisp: The 40ants-doc/locatives/define-definer/file-type․lisp file
File, file-type.lisp: The 40ants-doc/glossary/file-type․lisp file
File, file-type.lisp: The 40ants-doc/changelog/file-type․lisp file
file-type.lisp: The 40ants-doc/core/file-type․lisp file
file-type.lisp: The 40ants-doc/reference/file-type․lisp file
file-type.lisp: The 40ants-doc/reference-api/file-type․lisp file
file-type.lisp: The 40ants-doc/source-api/file-type․lisp file
file-type.lisp: The 40ants-doc/locatives/file-type․lisp file
file-type.lisp: The 40ants-doc/locatives/base/file-type․lisp file
file-type.lisp: The 40ants-doc/object-package/file-type․lisp file
file-type.lisp: The 40ants-doc/docstring/file-type․lisp file
file-type.lisp: The 40ants-doc/restart/file-type․lisp file
file-type.lisp: The 40ants-doc/locatives/define-definer/file-type․lisp file
file-type.lisp: The 40ants-doc/glossary/file-type․lisp file
file-type.lisp: The 40ants-doc/changelog/file-type․lisp file

G
glossary-term: Private classes

L
locate-error: Public conditions

P
Package, 40ants-doc: The 40ants-doc package
Package, 40ants-doc/changelog: The 40ants-doc/changelog package
Package, 40ants-doc/docstring: The 40ants-doc/docstring package
Package, 40ants-doc/glossary: The 40ants-doc/glossary package
Package, 40ants-doc/locatives: The 40ants-doc/locatives package
Package, 40ants-doc/locatives/base: The 40ants-doc/locatives/base package
Package, 40ants-doc/locatives/define-definer: The 40ants-doc/locatives/define-definer package
Package, 40ants-doc/object-package: The 40ants-doc/object-package package
Package, 40ants-doc/reference: The 40ants-doc/reference package
Package, 40ants-doc/reference-api: The 40ants-doc/reference-api package
Package, 40ants-doc/restart: The 40ants-doc/restart package
Package, 40ants-doc/source-api: The 40ants-doc/source-api package

R
reference: Public classes

S
section: Public classes
System, 40ants-doc: The 40ants-doc system
System, 40ants-doc/changelog: The 40ants-doc/changelog system
System, 40ants-doc/core: The 40ants-doc/core system
System, 40ants-doc/docstring: The 40ants-doc/docstring system
System, 40ants-doc/glossary: The 40ants-doc/glossary system
System, 40ants-doc/locatives: The 40ants-doc/locatives system
System, 40ants-doc/locatives/base: The 40ants-doc/locatives/base system
System, 40ants-doc/locatives/define-definer: The 40ants-doc/locatives/define-definer system
System, 40ants-doc/object-package: The 40ants-doc/object-package system
System, 40ants-doc/reference: The 40ants-doc/reference system
System, 40ants-doc/reference-api: The 40ants-doc/reference-api system
System, 40ants-doc/restart: The 40ants-doc/restart system
System, 40ants-doc/source-api: The 40ants-doc/source-api system

V
version: Private classes

Jump to:   4  
C   E   F   G   L   P   R   S   V