Skip to content
Logtalk - declarative object-oriented logic programming language
Prolog Logtalk HTML Shell Common Lisp XSLT Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add GitHub specific link to Logtalk support page Nov 3, 2019
adapters Make Tau Prolog support available by default in POSIX systems May 26, 2020
coding Update Kate text editor instructions for updating Logtalk support Apr 13, 2020
contributions Rename new `tail_recursion` flag to `tail_recursive` Apr 14, 2020
core Improve linter checks for tautologies and falsehoods in `is/2` goals May 30, 2020
docs Update `redis` library to also support Ciao Prolog (work-in-progress) May 27, 2020
examples Improve linter checks for tautologies and falsehoods in `is/2` goals May 30, 2020
integration Make Tau Prolog support available by default in POSIX systems May 26, 2020
library Fix tests driver file for the `redis` library May 27, 2020
man/man1 Add support for Tau Prolog to the `lgtunit` tool and the `types` library May 26, 2020
manuals Clarify meaning of "plain Prolog predicate" in the Handbook May 28, 2020
paths Add `process_modeling` parametric objects example May 29, 2020
ports Fix two deprecated predicate warnings when using the ECLiPSe backend Mar 2, 2020
scratch Update copyright strings for 2020 Jan 2, 2020
scripts Update install scripts for Tau Prolog May 26, 2020
tests Add support for using the `user` pseudo-object as an event monitor Apr 1, 2020
tools Add support for Tau Prolog to the `lgtunit` tool and the `types` library May 26, 2020
.appveyor.yml Update AppVeyor script to skip building on tags Aug 8, 2019
.editorconfig Update EditorConfig settings for Markdown files to use tabs for inden… Nov 10, 2019
.gitattributes Update `.gitattributes` file for generated content in the `docs` dire… Nov 25, 2019
.gitignore Update `.gitignore` file to ignore `*.info` files May 12, 2019
.readthedocs.yml Ask the Read the Docs service to only build HTML, PDF, and ePub versions Oct 3, 2018
.travis.yml Revert "Fix TravisCI integration to also run the library tests" Apr 13, 2020 Acknowledge updated support for Ciao Prolog contributed by José Morales May 23, 2020
BIBLIOGRAPHY.bib Update version to 3.39.0-b01 in preparation for the next release Apr 28, 2020 Add Contributor Covenant code of conduct Sep 25, 2018 Update contributing guidelines Jan 14, 2020 Update copyright strings for 2020 Jan 2, 2020 Update copyright strings for 2020 Jan 2, 2020
LICENSE.txt Move Logtalk to the Apache License 2.0 Sep 12, 2015
NOTICE.txt Update copyright strings for 2020 Jan 2, 2020 Fix outdated references to Handbook sections on `` file May 28, 2020 Add `hook_objects` library providing convenient hook objects for defi… Feb 7, 2020 Improve linter checks for tautologies and falsehoods in `is/2` goals May 30, 2020 Update copyright strings for 2020 Jan 2, 2020
VERSION.txt Update compiler internal table of standard predicates to include the … May 25, 2020
loader-sample.lgt Update copyright strings for 2020 Jan 2, 2020
settings-sample.lgt Update settings sample file description of searched directories Feb 27, 2020
tester-sample.lgt Update copyright strings for 2020 Jan 2, 2020
tests-sample.lgt Fix some spelling typos Jan 16, 2020

This file is part of Logtalk
Copyright 1998-2020 Paulo Moura

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.


Build Status Documentation Status Join the chat at


Logtalk is a declarative object-oriented logic programming language that extends and leverages the Prolog language with a feature set suitable for programming in the large. Logtalk supports modern code encapsulation and code reuse mechanisms while preserving the declarative programming features of Prolog.

Logtalk is implemented as a trans-compiler in highly portable code and can use most modern and standards compliant Prolog implementations as a backend compiler.

As a multi-paradigm language, Logtalk includes support for both prototypes and classes, protocols (interfaces), categories (components and hot-patching), event-driven programming, coinduction, lambda expressions, and high-level multi-threading programming. Logtalk uses standard Prolog syntax with the addition of some operators and directives for a smooth learning path.

Logtalk is distributed under a commercial friendly license and includes full documentation, tutorials, portable libraries, a comprehensive set of portable developer tools, and numerous programming examples to help get you started.

Logtalk development adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to

Logtalk website

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

At this address you can download installers for your operating-system and find full documentation on Logtalk.


Logtalk can be installed either from sources by running a couple of shell scripts or by using an installer for your operating system. For manual installation, see the file for detailed instructions.

The file contains descriptions of all Logtalk updates since the first public version. Please check it if you are upgrading from a previous Logtalk version.

If you are upgrading from the previous Logtalk 2.x generation, please check the file for instructions on how to upgrade your programs or your custom adapter files to run under Logtalk 3.x.


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.


A quick and highly recommended introduction for users comfortable with Prolog and with general knowledge about object-oriented programming is available at the Learn X in Y minutes website.

The HTML version of the Logtalk Handbook is included with the sources and can be found in the manuals directory. It's also available online at:

PDF, ePub, and Texinfo versions of the Logtalk Handbook can be downloaded from:

The Handbook is the entry point for the Logtalk documentation. It includes the user manual, the reference manual, glossary, FAQ, the library overviews, plus the developer tools documentation.

The API documentation for the core, library, tools, and contributions is provided in HTML format and can be found in the docs directory and also available online at:

Most directories include documentation files.

On POSIX systems, there's also a man page for most shell scripts. A list of these scripts can be generated using the apropos logtalk command. HTML versions of the man pages are also available at the Logtalk website.


To register as a Logtalk user please use the registration form at:

Registration is optional. But it's also a way of showing your support and an opportunity for us to learn about the cool projects where you will be using Logtalk.


Support channels include:

For more information on support options, please consult:


If you find Logtalk useful, please include a citation on your publications (also cite the used backend Prolog compilers). The BIBLIOGRAPHY.bib file includes bibliographic references in BibTeX format (including the 2003 PhD thesis on Logtalk design and implementation and the Logtalk Handbook).


Contributions are most welcome! See the file for details.


Logtalk is copyrighted by Paulo Moura and made available under the Apache License 2.0. See the LICENSE.txt file for the license terms. The copyright notice and license applies to all files in this release unless otherwise explicitly stated. See the NOTICE.txt for additional copyright information.

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

Some examples are adaptations to Logtalk of Prolog examples found elsewhere (e.g. in manuals, tutorials, books, and public discussion forums). See those examples documentation for information on the sources of the original code.

Logtalk is a registered trademark of Paulo Moura.

You can’t perform that action at this time.