Documentation

Tutorials

Grammar

Handbook

The Handbook includes the user manual, reference manual, glossary, FAQ, plus libraries and developer tools documentation.

  • HTML version @ the Read the Docs website (latest git version; provides improved search support but its links to API documentation are for the stable version; use it mainly to preview upcoming Handbook updates)

APIs

Core, library, tools, ports, and contributions API documentation (automatically generated from source code).

The SVG diagrams provide links to both the API documentation and to the source code.

Tools

The documentation for each developer tool is included in the tool source directory in a NOTES.md file and in the Handbook. See also the tools overview and usage examples.

The tools listed in this section are complemented by a set of scripts that automate common tasks.

Learning

Development

Debugging

Profiling

Documenting

Testing

Distributing

Version management

Porting

Release notes

Check the release notes for the latest goodies.

Man pages

Prolog integration scripts:

Configuration scripts:

Testing scripts:

Documentation scripts:

Diagrams scripts:

Virtual environment scripts:

Publications

  • Download a PhD thesis on Logtalk design and implementation (PDF, A4 paper). Thesis submitted on May 2003, and publicly defended on September 2003 (Supervisor: Prof. Abel Gomes; Discussants: Prof. Mário Martins (University of Minho, Portugal), Prof. Salvador Abreu (University of Évora, Portugal), Prof. Vitor Costa (University of Porto, Portugal), Prof. Ana Moreira (New University of Lisbon, Portugal)).
  • Download an unpublished paper on Logtalk categories (submitted to both OOPSLA 2000 and ECOOP 2001). Categories are also described in the Logtalk technical report and PhD thesis. Categories are implemented in Logtalk since is first public release in 1998.

Opinion articles

  • Uniting the Prolog Community: Personal Notes. Paulo Moura, Association for Logic Programming (ALP) Newsletter, Vol. 22/1, March 2009.
  • Prolog Portability and Standardization. Paulo Moura, Association for Logic Programming (ALP) Newsletter, Vol. 18/3, August 2005.
  • Logtalk 2.18.0. Paulo Moura, Association for Logic Programming (ALP) Newsletter, Vol. 17/3, August 2004.
  • Some notes on porting a Prolog program to 22 Prolog compilers or the relevance of the ISO Prolog standard. Paulo Moura, Association for Logic Programming (ALP) Newsletter, Vol. 12/2, May 1999.

Third-party publications

Publications on research and applications using Logtalk:

Authors

  • Paulo Moura (language designer, developer, and maintainer)

Contributors

  • Abramo Bagnara (efficient expansion of once/1 goals and bug reports in corner cases when compiling disjunctions)
  • Adrián Arroyo Calle (library enhancements)
  • Andreas Becker (PDT support for Logtalk; bug reports)
  • Andrew Davison (help with Trealla Prolog integration; bug reports)
  • Anne Ogborn (bug reports, usability suggestions)
  • Artur Miguel Dias (testing, lambda expression examples, CxProlog integration)
  • Artur Wang (Visual Studio Code support for Logtalk)
  • Arun Majumdar (bug reports, usability suggestions)
  • Barry Evans (dead code scanner tool, usability suggestions)
  • Camilo Correa Restrepo (bug reports)
  • Clara Dimene (GeSHi syntax highlighter)
  • Damien Roch (Docker support)
  • Daniel Diaz (testing and tools feedback and suggestions)
  • Daniel Gross (documentation feedback and suggestions)
  • Daniel L. Dudley (made the ISO 8601 library object available)
  • Davide Ancona (coinduction examples)
  • Douglas R. Miles (suggestions, bug reports, Logtalk on SWISH experiments)
  • Ebrahim Azarisooreh (code metrics tool, Arch Linux package, made lgtinit available)
  • Eva Stöwe (PDT support for Logtalk)
  • Feliks Kluzniak (coinduction examples and bug reports)
  • François Fages (meta-predicate safety bug reports)
  • Günter Kniesel (PDT support for Logtalk; feedback on Logtalk OOP features)
  • Gopal Gupta (coinduction examples)
  • Hans N. Beck (integration and embedding PowerShell scripts)
  • Ivan Bratko (search methods in the state-space searching example)
  • Jacinto Dávila (CSV library, bug reports)
  • Jacob Friedman (Visual Studio Code support for Logtalk)
  • Jan Burse (unit tests patches and feedback)
  • Jan Wielemaker (feedback on Prolog compliance testing)
  • Jeremy Vickery (bug reports)
  • Joachim Schimpf (feedback on Prolog compliance testing)
  • Joerg Schuster (bug reports)
  • John Fletcher (made XML parser available)
  • John Stewart (Java interface suggestions and solutions)
  • Joost Geurts (bug reports)
  • José Antonio Riaza Valverde (Tau Prolog integration)
  • José Morales (Ciao Prolog integration)
  • Lindsey Spratt (unit tests and feedback)
  • Markus Triska (help in porting CLP(FD) examples)
  • Mats Carlsson (bug reports)
  • Michael Covington (DCGs tokenizer example)
  • Michael Hendricks (EDCGs examples and tests)
  • Michael Igler (testing, bug reports)
  • Michael McNally (feedback on tutorials, examples, and documentation)
  • Michael Sheets (text editor support)
  • Michael T. Richter (Textadept text editor support, pengines example, Rosetta Code tasks)
  • Neda Saeedloei (coinduction examples)
  • Neng-Fa Zhou (bug reports)
  • Nicolas Pelletier (bug reports, text editor support)
  • Parker Jones (testing, unit tests, bug reports)
  • Paul Brown (scaffolding tool, libraries, bug reports, suggestions, Wikipedia page maintenance)
  • Paul Crocker (testing, multi-threading and meta-predicates examples, bug reports)
  • Paul Fodor (library enhancements)
  • Paul Tarau (feedback on threaded engines API and examples)
  • Paula Marisa Sampaio (state-space searching examples)
  • Paulo Nunes (multi-threading testing)
  • Paulo Urbano (initial adapter file for Quintus Prolog)
  • Per Mildner (code for helping decompose file paths and feedback on Prolog compliance testing)
  • Peter Van Roy (EDCGs implementation)
  • rbt (bug reports)
  • Rémy Haemmerlé (meta-predicate safety bug reports)
  • Richard O'Keefe (heaps and ordered sets library code)
  • Robert Sasak (PDDL 3.0 parser contribution)
  • Robert Shiplett (bug reports)
  • Rui Marques (bug reports)
  • Sergio Castro (Docker support, IntelliJ IDEA support, testing, suggestions, and bug reports)
  • Taner Bilgic (initial adapter file for ECLiPSe)
  • Timon Van Overveldt (multi-threading optimization and bug reports)
  • Theofrastos Mantadelis ("flags" contribution, ProbLog integration support, benchmark tests)
  • Ugo Chirico (help with JIProlog integration)
  • Ulrich Neumerkel (lambda expression examples, bug reports, and feedback on Prolog compliance testing)
  • Victor Lagerkvist (testing, library enhancements, made VerdiNeruda available)
  • Victor Noel (bug reports)
  • Vítor Santos Costa (red-black tree library)
  • Xin Wang (bug reports)
  • Yurii Rashkovskii (bug reports, feedback and suggestions, SWI-Prolog embedding scripts improvements)

A special thanks to all the Prolog implementers who fixed bugs and implemented enhancements that greatly helped in improving Logtalk portability and reliability.

This list may be incomplete. Logtalk contributions and feedback occur in multiple forms, from private mail to public forums and paper reviews. Your contributions are greatly appreciated. If your name is missing, please accept our apologies and contact us so we can fix the omission. Contact us also if, for some reason, you don't want your name on this list.

Research support

Sponsors

Open-source credits

Open-source software used by Logtalk development and distribution.