# README

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

## 1. About

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.

## 2. Logtalk web site

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

> http://logtalk.org/

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

## 3. Registration

To register as a Logtalk user either use the registration form found at the Logtalk web site, http://logtalk.org/regform.html, or send an email message to:

> registration@logtalk.org

with the following information:

email address, full name, organization, organization type (education, commercial, government, ...), prolog compilers used (optional), platforms (mac, pc, unix,...) (optional)

## 4. Support

For support options, please consult the page http://logtalk.org/support.html.

## 5. Installation

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 `INSTALL.md` 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 file `manuals/index.html` with a web browser). Source files are formatted using tabs (the recommended setting is a tab width equivalent to 4 spaces).

## 6. Customization

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

## 7. Running

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

## 8. Documentation

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

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

## 9. Upgrading

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

## 10. Citations

If you want to cite Logtalk in your publications, please consult the file `BIBLIOGRAPHY.bib` for bibliographic references in BibTeX format.

## 11. Contributions

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.

## 12. Legal

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.