This folder provides a simple tool for (re)generating documentation for a project. The tool defines a doclet object that is expected to be extended by the user to specify a sequence of goals and a sequence of shell commands that load the application and (re)generate its documentation.

Doclet source files are preferably named doclet.lgt (or doclet.logtalk) and the doclet object are usually named after the application or library to be documented with a _doclet suffix. By using an initialization/1 directive to automatically send the update/0 message that generates the documentation upon doclet loading, we can abstract the name of the doclet object. The usual query to load and run a doclet is therefore:

| ?- logtalk_load([doclet(loader), doclet]).

For usage examples see the sample_doclet.lgt, doclet1.lgt, zoom_doclet.lgt, and tools_doclet.lgt source files.

API documentation

This tool API documentation is available at:


For sample queries, please see the SCRIPT.txt file in the tool directory.


This tool can be loaded using the query:

| ?- logtalk_load(doclet(loader)).

Automating running doclets

You can use the scripts/ Bash shell script for automating running doclets. The script expects the doclet source files to be named either doclet.lgt or doclet.logtalk. See the scripts/ file or the script man page for details.

Integration with the make tool

Loading this tool adds a definition for the logtalk_make_target_action/1 hook predicate for the target documentation. The hook definition sends an update/0 message to each loaded doclet.

Other notes

All source files are indented using tabs (a common setting is a tab width equivalent to 4 spaces).