The 40ants-doc Reference Manual

Table of Contents

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 3.0 "Montgomery Scott" on Sun May 15 04:39:01 2022 GMT+0.


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

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]

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 40ants-doc

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

Description

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

Version

0.1.0

Dependencies
Source

40ants-doc.asd (file)


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

2.2 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 (file)

Component

file-type.lisp (file)


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

2.3 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 (file)

Component

file-type.lisp (file)


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

2.4 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 (file)

Component

file-type.lisp (file)


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

2.5 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
Source

40ants-doc.asd (file)

Component

file-type.lisp (file)


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

2.6 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 (file)

Component

file-type.lisp (file)


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

2.7 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 (file)

Component

file-type.lisp (file)


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

2.8 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 (file)

Component

file-type.lisp (file)


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

2.9 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

Source

40ants-doc.asd (file)

Component

file-type.lisp (file)


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

2.10 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 (file)

Component

file-type.lisp (file)


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

2.11 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
Source

40ants-doc.asd (file)

Component

file-type.lisp (file)


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

2.12 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 (file)

Component

file-type.lisp (file)


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

2.13 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 (file)

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 40ants-doc.asd

Location

/home/quickref/quicklisp/dists/quicklisp/software/doc-20220331-git/40ants-doc.asd

Systems

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

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

Parent

40ants-doc/restart (system)

Location

restart.lisp

Packages

40ants-doc/restart

Exported Definitions

define-restart (macro)


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

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

Parent

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

Location

locatives/define-definer.lisp

Packages

40ants-doc/locatives/define-definer

Exported Definitions

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

Internal Definitions

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


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

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

Parent

40ants-doc/glossary (system)

Location

glossary.lisp

Packages

40ants-doc/glossary

Exported Definitions

define-glossary-term (macro)

Internal Definitions

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

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

Parent

40ants-doc/changelog (system)

Location

changelog.lisp

Packages

40ants-doc/changelog

Exported Definitions
Internal Definitions

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

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

Parent

40ants-doc/core (system)

Location

core.lisp

Packages

40ants-doc

Exported Definitions
Internal Definitions

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

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

Parent

40ants-doc/reference (system)

Location

reference.lisp

Packages

40ants-doc/reference

Exported Definitions
Internal Definitions

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

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

Parent

40ants-doc/reference-api (system)

Location

reference-api.lisp

Packages

40ants-doc/reference-api

Exported Definitions
Internal Definitions

reference-name (generic function)


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

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

Parent

40ants-doc/locatives (system)

Location

locatives.lisp

Packages

40ants-doc/locatives


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

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

Parent

40ants-doc/locatives/base (system)

Location

locatives/base.lisp

Packages

40ants-doc/locatives/base

Exported Definitions
Internal Definitions

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

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

Parent

40ants-doc/source-api (system)

Location

source-api.lisp

Packages

40ants-doc/source-api

Exported Definitions

find-source (generic function)


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

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

Parent

40ants-doc/object-package (system)

Location

object-package.lisp

Packages

40ants-doc/object-package

Internal Definitions

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

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

Parent

40ants-doc/docstring (system)

Location

docstring.lisp

Packages

40ants-doc/docstring

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 40ants-doc/restart

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions

define-restart (macro)


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

4.2 40ants-doc/locatives/define-definer

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions

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

Internal Definitions

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


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

4.3 40ants-doc/glossary

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions

define-glossary-term (macro)

Internal Definitions

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

4.4 40ants-doc/changelog

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

4.5 40ants-doc

See 40ANTS-DOC:@INDEX.

Source

file-type.lisp (file)

Nickname

40ants-doc/core

Use List

common-lisp

Exported Definitions
Internal Definitions

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

4.6 40ants-doc/reference

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

4.7 40ants-doc/reference-api

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

reference-name (generic function)


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

4.8 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 (file)

Use List

common-lisp


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

4.9 40ants-doc/locatives/base

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

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

4.10 40ants-doc/source-api

Source

file-type.lisp (file)

Use List

common-lisp

Exported Definitions

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

4.11 40ants-doc/object-package

Source

file-type.lisp (file)

Use List

common-lisp

Internal Definitions

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

4.12 40ants-doc/docstring

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 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 (file)

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 (file)

Special Variable: @changelog
Package

40ants-doc/changelog

Source

file-type.lisp (file)


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

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)


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

5.1.3 Functions

Function: get-docstring OBJECT DOC-TYPE
Package

40ants-doc/docstring

Source

file-type.lisp (file)

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 (file)

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 (file)

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 (file)

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 (file)

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 (file)

Function: make-reference OBJECT LOCATIVE
Package

40ants-doc/reference

Source

file-type.lisp (file)

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 (file)

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 (file)

Function: strip-docstring-indentation DOCSTRING &key FIRST-LINE-SPECIAL-P

Normalize indentation of docstrings

Package

40ants-doc/docstring

Source

file-type.lisp (file)


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

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 (file)

Methods
Method: canonical-reference (REFERENCE reference)
Source

file-type.lisp (file)

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 (file)

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 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 (file)

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 (file)

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 (file)

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 Function: locate-error-locative CONDITION
Package

40ants-doc/locatives/base

Methods
Method: locate-error-locative (CONDITION locate-error)
Source

file-type.lisp (file)

Generic Function: locate-error-message CONDITION
Package

40ants-doc/locatives/base

Methods
Method: locate-error-message (CONDITION locate-error)
Source

file-type.lisp (file)

Generic Function: locate-error-object CONDITION
Package

40ants-doc/locatives/base

Methods
Method: locate-error-object (CONDITION locate-error)
Source

file-type.lisp (file)

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 (file)

Generic Function: reference-locative OBJECT
Package

40ants-doc/reference

Methods
Method: reference-locative (REFERENCE reference)

automatically generated reader method

Source

file-type.lisp (file)

Generic Function: reference-object OBJECT
Package

40ants-doc/reference

Methods
Method: reference-object (REFERENCE reference)

automatically generated reader method

Source

file-type.lisp (file)

Generic Function: section-entries OBJECT
Package

40ants-doc

Methods
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 (file)

Generic Function: section-external-docs OBJECT
Package

40ants-doc

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

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

Source

file-type.lisp (file)

Generic Function: section-ignore-words OBJECT
Package

40ants-doc

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

A list of strings to not warn about.

Source

file-type.lisp (file)

Package

40ants-doc

Methods

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

Source

file-type.lisp (file)

Generic Function: section-name OBJECT
Package

40ants-doc

Methods
Method: section-name (SECTION section)

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

Source

file-type.lisp (file)

Generic Function: section-package OBJECT
Package

40ants-doc

Methods
Method: section-package (SECTION section)

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

Source

file-type.lisp (file)

Generic Function: section-readtable OBJECT
Package

40ants-doc

Methods
Method: section-readtable (SECTION section)

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

Source

file-type.lisp (file)

Generic Function: section-title OBJECT
Package

40ants-doc

Methods
Method: section-title (SECTION section)

STRING or NIL. Used in generated documentation.

Source

file-type.lisp (file)


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

5.1.5 Conditions

Condition: locate-error ()

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

Package

40ants-doc/locatives/base

Source

file-type.lisp (file)

Direct superclasses

error (condition)

Direct methods
Direct slots
Slot: message
Initargs

:message

Readers

locate-error-message (generic function)

Slot: object
Initargs

:object

Readers

locate-error-object (generic function)

Slot: locative
Initargs

:locative

Readers

locate-error-locative (generic function)


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

5.1.6 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 (file)

Direct superclasses

standard-object (class)

Direct subclasses

external-reference (class)

Direct methods
Direct slots
Slot: object
Initargs

:object

Readers

reference-object (generic function)

Slot: locative
Initargs

:locative

Readers

reference-locative (generic function)

Class: section ()

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

Package

40ants-doc

Source

file-type.lisp (file)

Direct superclasses

standard-object (class)

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 (generic function)

Slot: package

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

Initargs

:package

Readers

section-package (generic function)

Slot: readtable

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

Initargs

:readtable

Readers

section-readtable (generic function)

Slot: title

STRING or NIL. Used in generated documentation.

Initargs

:title

Readers

section-title (generic function)

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

Initargs

:link-title-to

Readers

section-link-title-to (generic function)

Slot: entries

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

Initargs

:entries

Readers

section-entries (generic function)

Slot: external-docs

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

Initargs

:external-docs

Readers

section-external-docs (generic function)

Slot: ignore-words

A list of strings to not warn about.

Initargs

:ignore-words

Readers

section-ignore-words (generic function)


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

5.2 Internal definitions


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

5.2.1 Special variables

Special Variable: *reference-being-documented*
Package

40ants-doc/reference

Source

file-type.lisp (file)

Special Variable: *references*
Package

40ants-doc/reference

Source

file-type.lisp (file)

Special Variable: *whitespace-chars*
Package

40ants-doc/docstring

Source

file-type.lisp (file)

Special Variable: 0.1.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.2.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.3.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.4.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.4.1
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.1
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.2
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.3
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.4
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.5
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.6
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.7
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.5.8
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.6.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.7.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.8.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: 0.9.0
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Special Variable: @index
Package

40ants-doc/changelog

Source

file-type.lisp (file)


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

5.2.2 Functions

Function: blankp STRING
Package

40ants-doc/docstring

Source

file-type.lisp (file)

Function: docstring-indentation DOCSTRING &key FIRST-LINE-SPECIAL-P
Package

40ants-doc/docstring

Source

file-type.lisp (file)

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 (file)

Function: entry-to-reference ENTRY
Package

40ants-doc

Source

file-type.lisp (file)

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 (file)

Function: export-some-symbols NAME ENTRIES PACKAGE
Package

40ants-doc

Source

file-type.lisp (file)

Function: external-reference-p OBJ
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: filter-documentation SYMBOL DOC-TYPE
Package

40ants-doc/docstring

Source

file-type.lisp (file)

Function: locative-equal LOCATIVE-1 LOCATIVE-2
Package

40ants-doc

Source

file-type.lisp (file)

Function: looks-like-date ITEM
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Function: make-external-reference OBJECT LOCATIVE URL
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: make-version-section VERSION CONTENT EXTERNAL-DOCS EXTERNAL-LINKS
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Function: n-leading-spaces LINE
Package

40ants-doc/docstring

Source

file-type.lisp (file)

Function: reference-locative-type REFERENCE
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: reference-to-anchor REFERENCE
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: reference= REFERENCE-1 REFERENCE-2
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: references-for-symbol SYMBOL REFS N-CHARS-READ
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: references-for-the-same-symbol-p REFS
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: resolve-dislocated REFS
Package

40ants-doc/reference

Source

file-type.lisp (file)

Function: resolve-generic-function-and-methods REFS
Package

40ants-doc/reference

Source

file-type.lisp (file)

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 (file)

Function: symbol-accessible-in-package-p SYMBOL PACKAGE
Package

40ants-doc

Source

file-type.lisp (file)

Function: symbol-lambda-list-method SYMBOL LOCATIVE-TYPE
Package

40ants-doc/locatives/base

Source

file-type.lisp (file)

Function: transform-entries ENTRIES EXTERNAL-LINKS
Package

40ants-doc

Source

file-type.lisp (file)

Package

40ants-doc

Source

file-type.lisp (file)

Function: transform-locative-symbols ENTRIES &aux LOCATIVES-PACKAGE
Package

40ants-doc

Source

file-type.lisp (file)

Function: trim-whitespace STRING
Package

40ants-doc/docstring

Source

file-type.lisp (file)

Function: whitespacep CHAR
Package

40ants-doc/docstring

Source

file-type.lisp (file)


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

5.2.3 Generic functions

Generic Function: external-reference-url OBJECT
Package

40ants-doc/reference

Methods
Method: external-reference-url (EXTERNAL-REFERENCE external-reference)

automatically generated reader method

Source

file-type.lisp (file)

Generic Function: glossary-term-docstring OBJECT
Package

40ants-doc/glossary

Methods
Method: glossary-term-docstring (GLOSSARY-TERM glossary-term)

automatically generated reader method

Source

file-type.lisp (file)

Generic Function: glossary-term-name OBJECT
Package

40ants-doc/glossary

Methods
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 (file)

Generic Function: glossary-term-title OBJECT
Package

40ants-doc/glossary

Methods
Method: glossary-term-title (GLOSSARY-TERM glossary-term)

Used in generated documentation.

Source

file-type.lisp (file)

Generic Function: locative-lambda-list SYMBOL
Package

40ants-doc/locatives/base

Source

file-type.lisp (file)

Generic Function: object-package OBJECT
Package

40ants-doc/object-package

Source

file-type.lisp (file)

Methods
Method: object-package (OBJ section)
Source

file-type.lisp (file)

Method: object-package (OBJ reference)
Source

file-type.lisp (file)

Method: object-package OBJECT
Generic Function: reference-name OBJ NAME REF LINK
Package

40ants-doc/reference-api

Source

file-type.lisp (file)

Generic Function: symbol-lambda-list SYMBOL LOCATIVE-TYPE
Package

40ants-doc/locatives/base

Source

file-type.lisp (file)

Generic Function: version-date OBJECT
Generic Function: (setf version-date) NEW-VALUE OBJECT
Package

40ants-doc/changelog

Methods
Method: version-date (VERSION version)
Method: (setf version-date) NEW-VALUE (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 (file)


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

5.2.4 Classes

Class: changelog ()
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Direct superclasses

section (class)

Class: external-reference ()

A full URL of external entity.

Package

40ants-doc/reference

Source

file-type.lisp (file)

Direct superclasses

reference (class)

Direct methods

external-reference-url (method)

Direct slots
Slot: url
Type

string

Initargs

:url

Readers

external-reference-url (generic function)

Class: glossary-term ()
Package

40ants-doc/glossary

Source

file-type.lisp (file)

Direct superclasses

standard-object (class)

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 (generic function)

Slot: title

Used in generated documentation.

Initargs

:title

Readers

glossary-term-title (generic function)

Slot: docstring
Initargs

:docstring

Readers

glossary-term-docstring (generic function)

Class: version ()
Package

40ants-doc/changelog

Source

file-type.lisp (file)

Direct superclasses

section (class)

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 (generic function)

Writers

(setf version-date) (generic function)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   4  
F   L  
Index Entry  Section

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

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

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

Jump to:   4  
F   L  

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

A.2 Functions

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

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

B
blankp: Internal functions

C
canonical-reference: Exported generic functions
canonical-reference: Exported generic functions

D
defchangelog: Exported macros
define-definer-for-symbol-locative-type: Exported macros
define-glossary-term: Exported macros
define-locative-type: Exported macros
define-restart: Exported macros
defsection: Exported macros
defsection-copy: Exported macros
docstring-indentation: Internal functions

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

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

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

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

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

N
n-leading-spaces: Internal functions

O
object-package: Internal generic functions
object-package: Internal generic functions
object-package: Internal generic functions
object-package: Internal generic functions

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

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

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

V
version-date: Internal generic functions
version-date: Internal generic functions

W
whitespacep: Internal functions

Jump to:   (  
B   C   D   E   F   G   L   M   N   O   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*: Exported special variables
*reference-being-documented*: Internal special variables
*references*: Internal special variables
*source-uri-fn*: Exported special variables
*whitespace-chars*: Internal special variables

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

@
@changelog: Exported special variables
@index: Internal special variables

D
date: Internal classes
docstring: Internal classes

E
entries: Exported classes
external-docs: Exported classes

I
ignore-words: Exported classes

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

M
message: Exported conditions

N
name: Exported classes
name: Internal classes

O
object: Exported conditions
object: Exported classes

P
package: Exported classes

R
readtable: Exported classes

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

T
title: Exported classes
title: Internal classes

U
url: Internal 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   G   L   P   R   S   V  
Index Entry  Section

4
40ants-doc: The 40ants-doc system
40ants-doc: The 40ants-doc package
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: Internal classes
Class, changelog: Internal classes
Class, external-reference: Internal classes
Class, glossary-term: Internal classes
Class, reference: Exported classes
Class, section: Exported classes
Class, version: Internal classes
Condition, locate-error: Exported conditions

E
external-reference: Internal classes

G
glossary-term: Internal classes

L
locate-error: Exported 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: Exported classes

S
section: Exported 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: Internal classes

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