Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time

This file is part of Logtalk
Copyright 1998-2021 Paulo Moura
SPDX-License-Identifier: Apache-2.0

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


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.