Skip to content
Logtalk 3.x development version
Logtalk Prolog HTML Common Lisp Shell Inno Setup Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
adapters When adding a `begin/2` token to the list of tokens generated for pri… May 25, 2016
coding Update dates in the copyright strings Feb 18, 2016
contributions Add missing `meta_predicate/1` directives for some local predicates i… May 18, 2016
core Fix regression when processing source file names with multiple periods May 25, 2016
docs Update core, library, and tools SVG entity diagrams May 16, 2016
examples Update outdated note for the `bricks` example May 25, 2016
integration Require CxProlog 0.98.1 when using this backend compiler Mar 15, 2016
library Add missing `meta_predicate/1` directives for local predicates of the… May 13, 2016
man/man1 Add support for using SWI-Prolog with the Logtalk pack installed as t… May 18, 2016
manuals Add support for specifying the scratch directory using library notation May 24, 2016
paths Also generate documentation for the `wrapper` tool and define a libra… Feb 22, 2016
scratch Update dates in the copyright strings Feb 18, 2016
scripts Fix new `swipack` option for the `` script when usin… May 18, 2016
tests Improve detection of missing `meta_predicate/1` directives May 19, 2016
tools Set release date for the 3.05.0 stable version May 16, 2016
.gitignore Updated the `.gitignore` file for the new name of the automated testi… Mar 18, 2016 Update dates in the copyright strings Feb 18, 2016
BIBLIOGRAPHY.bib Update version to 3.05.1-rc1 in preparation for the next release May 18, 2016 Update dates in the copyright strings Feb 18, 2016 Update dates in the copyright strings Feb 18, 2016
LICENSE.txt Move Logtalk to the Apache License 2.0 Sep 12, 2015
NOTICE.txt Update dates in the copyright strings Feb 18, 2016 Update dates in the copyright strings Feb 18, 2016 Update dates in the copyright strings Feb 18, 2016 Add `blocks` example, a simpler version of the `bricks` example May 25, 2016 Update dates in the copyright strings Feb 18, 2016
VERSION.txt Fix regression when processing source file names with multiple periods May 25, 2016
loader-sample.lgt Update dates in the copyright strings Feb 18, 2016
settings-sample.lgt Minor update to the example code in the sample settings file May 13, 2016
tester-sample.lgt Update dates in the copyright strings Feb 18, 2016

This file is part of Logtalk
Copyright 1998-2016 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.


  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. Logtalk supports modern code encapsulation and code reuse mechanisms without compromising the declarative programming features of Prolog. Logtalk is implemented in highly portable code and can use most modern and standards compliant Prolog implementations as a back-end 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.


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. Major code and documentation contributions require the contributor to sign and submit a contributor license agreement and should be made available under the Logtalk license without any additional terms or conditions. Contributions using other licensing terms may also be distributed with Logtalk with the understanding that the terms of their use depends solely on the authors chosen licensing terms and may require a separate, independent, agreement between users and authors.


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 detailed 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 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.