README

ABOUT

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 without compromising 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, portable libraries, portable developer tools, and a large
number of programming examples to help get you started.

Logtalk development adheres to the Contributor Covenant
[code of conduct](CODE_OF_CONDUCT.md). By participating,
you are expected to uphold this code. Please report
unacceptable behavior to contact@logtalk.org.

LOGTALK WEB SITE

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

	https://logtalk.org/

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

INSTALLATION

Logtalk can be installed either from sources by running a couple of shell
scripts or by using an installer (https://logtalk.org/download.html) for your
operating system. For manual installation, see the INSTALL.md file for
detailed instructions.

The RELEASE_NOTES.md 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 [UPGRADING.md](UPGRADING.md) file for instructions on how to upgrade your
programs or your custom adapter files to run under Logtalk 3.x.

CUSTOMIZATION

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

RUNNING

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

DOCUMENTATION

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:

	https://learnxinyminutes.com/docs/logtalk/

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

	https://logtalk.org/manuals/index.html

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

https://logtalk.org/documentation.html

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:

	https://logtalk.org/docs/index.html

Most directories include NOTES.md or NOTES.txt 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:

	https://logtalk.org/documentation.html#man-pages

REGISTRATION

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

	https://logtalk.org/regform.html

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

Support channels include:

	•	Community discussion forum at https://github.com/LogtalkDotOrg/logtalk3/discussions
	•	Community live chat room at https://app.gitter.im/#/room/#LogtalkDotOrg_logtalk3:gitter.im
	•	Support contracts at https://logtalk.org/support_contracts.html

For more information on support options, please consult the web page:

	https://logtalk.org/support.html

CITATIONS

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).
See also the CITATION.cff file.

CONTRIBUTIONS

Contributions are most welcome! See the CONTRIBUTING.md file for details.

LEGAL

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.