Skip to content
This repository

Logtalk 3.x development version

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 adapters Fix adapter files for the format change to the internal entity prefixes April 17, 2014
Octocat-spinner-32 coding Fix TextMate 2 bundle commands for generating (X)HTML, PDF, and text … March 19, 2014
Octocat-spinner-32 contributions Minor changes to the `verdi_neruda` contribution to avoid a warning a… March 12, 2014
Octocat-spinner-32 core Don't save referenced entities when creating a new entity dynamically April 17, 2014
Octocat-spinner-32 docs Add missing HTML documenting for the `assertions/1` object April 09, 2014
Octocat-spinner-32 examples Fix several programming style issues in the examples April 01, 2014
Octocat-spinner-32 integration Fix integration files for the format change to the internal entity pr… April 17, 2014
Octocat-spinner-32 library Update instructions to generate HTML documentation for the library an… March 09, 2014
Octocat-spinner-32 man Minor documentation improvements March 15, 2014
Octocat-spinner-32 manuals Restrict valid values for the `code_prefix` flag to single character … April 17, 2014
Octocat-spinner-32 paths Add `jpl` example defining a minimal abstraction of the JPL API for c… March 25, 2014
Octocat-spinner-32 scratch Minor documentation updates February 01, 2014
Octocat-spinner-32 scripts Bump version information to beta 2 in preparation for the next release April 09, 2014
Octocat-spinner-32 tests Add built-in reflection method unit tests for testing the errors gene… April 18, 2014
Octocat-spinner-32 tools Ensure that the `assertions` support for goal-expansion will be trigg… April 03, 2014
Octocat-spinner-32 .gitignore Add PDF versions of the User and Reference manuals October 28, 2013
Octocat-spinner-32 Update acknowledgments March 17, 2014
Octocat-spinner-32 BIBLIOGRAPHY.bib Bump version information to beta 2 in preparation for the next release April 09, 2014
Octocat-spinner-32 Rename most documentation `NOTES.txt` files that use Markdown syntax … January 25, 2014
Octocat-spinner-32 Improve installation instructions February 16, 2014
Octocat-spinner-32 LICENSE.txt Minor clarification in the short description of the licensing terms March 30, 2013
Octocat-spinner-32 Minor documentation updates March 09, 2014
Octocat-spinner-32 Minor documentation improvements March 15, 2014
Octocat-spinner-32 Add built-in reflection method unit tests for testing the errors gene… April 18, 2014
Octocat-spinner-32 Allow support the `{}/1` compiler bypass control construct in message… March 30, 2014
Octocat-spinner-32 VERSION.txt Bump version information to beta 2 in preparation for the next release April 09, 2014
Octocat-spinner-32 loader-sample.lgt Fix typo in comment in the `loader-sample.lgt` file March 27, 2014
Octocat-spinner-32 settings-sample.lgt Update the `settings-sample.lgt` with instructions for silencing outp… April 01, 2014

This file is part of Logtalk
Copyright (c) 1998-2014 Paulo Moura

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see

Additional licensing terms apply per Section 7 of the GNU General Public License 3. Consult the LICENSE.txt file for details.


  1. About
  2. Logtalk web site
  3. Registration
  4. Support
  5. Installation
  6. Customization
  7. Running
  8. Documentation
  9. Upgrading
  10. Citations
  11. Contributions
  12. Legal


Logtalk is an object-oriented logic programming language that extends and leverages the Prolog language with a feature set suitable for programming in the large. As a multi-paradigm language, it includes support for both prototypes and classes, protocols (interfaces), component-based programming through category-based composition, event-driven programming, coinduction, and high-level multi-threading programming. Logtalk uses standard Prolog syntax with the addition of some operators and directives and can be used with any Prolog implementation compliant with official and de facto standards as the back-end compiler.


The latest release of the Logtalk is always available at the URL:

At this address you can also find additional documentation and information about Logtalk.


To register as a Logtalk user either use the registration form found at the Logtalk web site:

or send an email message to:

with the following information:

email address, first and last name, organization, organization type (education, commercial, government, ...), Prolog compilers you use (optional), platforms (mac, pc, unix,...) (optional), projects where you intend to use Logtalk (optional)


For support options, please consult the web page:


Logtalk can be installed either from sources by running a few shell scripts or by using one of the provided installers, depending on your operating system. For manual installation, see the file for detailed instructions.

See the user manual for a description of the source files organization and for using instructions (to read the user manual open the index file in a web browser). Most files are formatted using tabs (the recommended setting is a tab width equivalent to 4 spaces).


The file provides detailed instructions for customizing the Logtalk installation and working environment.


The file provides quick instructions for those of you in a hurry to run Logtalk, provided that your favorite Prolog compiler is supported and installed.


The reference and user manuals and the tutorial are provided in XHTML and PDF formats and can be found in the manuals directory.

The file contains descriptions of all Logtalk updates since the first public version. Read it carefully if you have been using a previous Logtalk version.

The documentation for the core, library, tools, and contributions entities is provided in XHTML format and can be found in the docs directory.

Most directories include documenting files, which can be viewed as plain text in any text editor but also nicely rendered as Markdown files (for e.g. easy conversion to HTML).

On POSIX systems, there's also a man page for each shell script. A list of all the scripts can be generated using the apropos logtalk command.


If you are upgrading from a previous Logtalk version, please check the file for instructions on how to upgrade your programs or your custom adapter files to run under this new version.


If you find Logtalk useful, please include a citation on your publications. Consult the BIBLIOGRAPHY.bib file for bibliographic references in BibTeX format (the Logtalk technical report published on 2000 and the 2003 PhD thesis on Logtalk are good choices).


Contributions, constructive criticism, patches, bug reports, and suggestions are always welcome. However, major code contributions to core files, such as the compiler, runtime, adapter files, library files, or tools can only be accepted with a transfer of copyright or if the submitted code is explicitly declared as public domain code. This simplifies the selling of commercial licenses, which provide a revenue source for the sustained development of Logtalk.


Logtalk is copyrighted by Paulo Moura. The Logtalk use and distribution license can be found in the LICENSE.txt file. Logtalk follows the GNU General Public License 3, plus some additional terms as per Section 7. The copyright notice and license applies to all files in this release unless otherwise explicitly stated.

Some files that are part of the Logtalk distribution are distributed using a different license and/or are copyrighted by a Logtalk contributor.

Some of the included examples are adaptations to Logtalk of Prolog examples found elsewhere (e.g. in manuals, tutorials, books, and public mailing list discussions). The copyright in the examples original code should be assumed to belong to the original authors.

Logtalk is a registered trademark of Paulo Moura.

Something went wrong with that request. Please try again.