- Learn X in Y minutes Where X=Logtalk: English Italian (recommended starting point for new users)
- Handbook tutorial
The Logtalk Handbook includes a tutorial, the User Manual, the Reference Manual, and the FAQ.
Core, Library, Tools, and Contributions API documentation
- HTML API documentation (automatically generated)
- SVG diagrams (automatically generated)
The SVG diagrams provide links to both the API documentation and to the source code.
The documentation for each developer tool is included in the tool
source directory in a
NOTES.md file. See also the of the tools
overview and usage examples.
The tools listed in this section are complemented by a set of scripts that automate common tasks.
Check the release notes for the latest goodies.
Prolog integration scripts:
- B-Prolog: bplgt
- CxProlog: cxlgt
- ECLiPSe: eclipselgt
- GNU Prolog: gplgt
- JIProlog: jiplgt
- Lean Prolog: lplgt
- Qu-Prolog: qplgt
- Quintus Prolog: quintuslgt
- SICStus Prolog: sicstuslgt
- SWI-Prolog: swilgt
- XSB: xsblgt
- XSB (mt): xsbmtlgt
- YAP: yaplgt
- A Portable and Efficient Implementation of Coinductive Logic Programming. Paulo Moura. Proceedings of the Fifteenth International Symposium on Practical Aspects of Declarative Languages (PADL 2013), 2013. Springer LNCS 7752.
- Meta-Predicate Semantics. Paulo Moura. Post-Proceedings of the 21st International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2011), 2012. Springer LNCS 7225.
- L-FLAT: Logtalk Toolkit for Formal Languages and Automata Theory. Paulo Moura and Artur Miguel Dias. Proceedings of the 11th Colloquium on Implementation of Constraint LOgic Programming Systems (CICLOPS), July 2011.
- Programming Patterns for Logtalk Parametric Objects. Paulo Moura. Applications of Declarative Programming and Knowledge Management, Lecture Notes in Artificial Intelligence Vol. 6547, April 2011
- Towards a Study of Meta-Predicate Semantics. Paulo Moura. Proceedings of the 10th Colloquium on Implementation of Constraint LOgic Programming Systems (CICLOPS), July 2010. (slides)
- Knowledge Representation Using Logtalk Parametric Objects. Paulo Moura. Proceedings of the International Conference on Applications of Declarative Programming and Knowledge Management (INAP), University of Évora, Portugal, November 2009, pp 225-240. (slides)
- From Plain Prolog to Logtalk Objects: Effective Code Encapsulation and Reuse (Invited Talk). Paulo Moura. Proceedings of the 25th International Conference on Logic Programming (ICLP), July 2009. LNCS 5649. Springer-Verlag Berlin Heidelberg". (slides) (updated slides for a talk at U.T. Dallas in Summer 2011)
- Secure Implementation of Meta-predicates. Paulo Moura. Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages (PADL), January 2009. LNCS 5418. Springer-Verlag Berlin Heidelberg.
- High Level Thread-Based Competitive Or-Parallelism in Logtalk. Paulo Moura, Ricardo Rocha, and Sara C. Madeira. Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages (PADL), January 2009. LNCS 5418. Springer-Verlag Berlin Heidelberg.
- Thread-Based Competitive Or-Parallelism. Paulo Moura, Ricardo Rocha, and Sara C. Madeira. Proceedings of the 24th International Conference on Logic Programming (ICLP), December 2008. LNCS 5366. Springer-Verlag Berlin Heidelberg.
- High-Level Multi-threading Programming in Logtalk. Paulo Moura, Paul Crocker, and Paulo Nunes. Proceedings of the 10th International Symposium on Practical Aspects of Declarative Languages (PADL), January 2008. LNCS 4902. Springer-Verlag Berlin Heidelberg.
- Logtalk Processing of STEP Part 21 Files. Paulo Moura and Vincent Marchetti. Proceedings of the 22nd International Conference on Logic Programming (ICLP), August 2006. LNCS 4079. Springer-Verlag Berlin Heidelberg.
- 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.
- Download a Technical Report on Logtalk 2.6, published on July, 2000: PDF A4 paper, PDF US Letter paper.
- 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.
Publications on research and applications using Logtalk:
- Automatic Discovery of Software Attacks via Backward Reasoning. Cataldo Basile, Daniele Canavese, Jerome d'Annoville, Bjorn De Sutter, and Fulvio Valenza. IEEE/ACM 1st International Workshop on Software Protection (SPRO), May 2015.
- A Portable Approach for Bidirectional Integration between a Logic and a Statically-Typed Object-Oriented Programming Language. Sergio Castro. PhD thesis. September 2014.
- Customisable Handling of Java References in Prolog Programs. Sergio Castro, Kim Mens, and Paulo Moura. Proceedings of the 30th International Conference on Logic Programming. July 2014.
- LogicObjects: A Portable and Extensible Approach for Linguistic Symbiosis between an Object-Oriented and a Logic Programming Language. Sergio Castro. Proceedings of the International Conference on Logic Programming Doctoral Consortium (ICLP DC), 2013. TPLP 13 (4-5): Online Supplement, July 2013. (PDF)
- Logical programming and data mining as engine for MDA model transformation implementation. A.Y. Sokolov, I.N. Terekhin, E.A. Cherkashin, S.O. Butakov, and A.A. Larionov. Proceedings of the 36th International Convention on Information & Communication Technology Electronics & Microelectronics (MIPRO), May 2013
- LogicObjects: Enabling Logic Programming in Java Through Linguistic Symbiosis. Sergio Castro, Kim Mens, and Paulo Moura. Proceedings of the Fifteenth International Symposium on Practical Aspects of Declarative Languages (PADL 2013), 2013. Springer LNCS 7752.
- A Declarative Pipeline Language for Complex Data Analysis. Henning Christiansen, Christian Theil Have, Ole Torp Lassen, Matthieu Petit. Post-Proceedings of the 22nd International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2012), 2013. Springer LNCS 7844.
- Information Systems Framework Synthesis on the Base of a Logical Approach. E.A. Cherkashin, V.V. Paramonov, R.K. Fedorov, I.N. Terehin, E.I. Pozdnyak, and D.V. Annenkov. E-society Journal: research and applications, Vol. 3, No. 2, December 2012
- ESProNa - Eine Constraintsprache zur multimodalen Prozessmodellierung und navigationsgestützten Ausführung (ESProNa - A Constraint-Language for multimodal Process Modeling supporting Navigation-Based Process Execution). Michael Igler. PhD thesis. July 2012.
- LogicObjects: A Linguistic Symbiosis Approach to Bring the Declarative Power of Prolog to Java. Sergio Castro, Kim Mens, and Paulo Moura. Proceedings of the 9th Workshop on Reflection, AOP and Meta-Data for Software Evolution (RAM-SE). June 2012.
- New transformation approach for Model Driven Architecture. E.A. Cherkashin, I.N. Terehin, V.V. Paramonov, V.S. Tertychniy. Proceedings of the 35th International Convention MIPRO. May 2012
- Model Driven Architecture is a Complex System. Cherkashin, Е.А., Paramonov V.V., Ipatov S. A., Tertychniy V.S., Terehin I.N. E-Society Journal, Research and Applications, University of Novi Sad, Technical Faculty "Mihajlo Pupin" Zrenjanin, 2011, Vol. 2, N2. - C. 15-23. November 2011.
- Information modeling of business processes in X-ray fluorescent analysis. O. P. Vorobyeva, E. A. Cherkashin, S. A. Ipatov, and V. V. Paramonov. Proceedings of the 34th International Convention MIPRO. May 2011
- Using Argumentation for Ambient Assisted Living. Julien Marcais, Nikolaos Spanoudakis, and Pavlos Moraitis. IFIP Advances in Information and Communication Technology. Vol. 364. Springer Berlin Heidelberg. 2011.
- Modeling and Planning Collaboration using Organizational Constraints. Michael Igler, Paulo Moura, Matthias Faerber, Michael Zeising, and Stefan Jablonski, The 6th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom), October 2010.
- ESProNa: Constraint-Based Declarative Business Process Modeling. Michael Igler, Paulo Moura, Michael Zeising, and Stefan Jablonski. Proceedings of the Third International Workshop on Dynamic and Declarative Business Processes, October 2010.
- A comparison of SL- and unit-resolution search rules for stratified logic programs. Victor Lagerkvist. Bachelor thesis, Linköping University, Department of Computer and Information Science, June 2010.
- IT Architecture Automatic Verification: A network evidence-based approach. António Alegria and André Vasconcelos. Proceedings of the Fourth IEEE International Conference on Research Challenges in Information Science, RCIS 2010.
- A Document Engineering Model and Processing Framework for Multimedia Documents. Joost Geurts. PhD Thesis, Technische Universiteit Eindhoven, February 2010. SIKS Dissertation Series No. 2010-03.
- Verificação Automática de Modelos de Arquitectura Tecnológica de Sistemas de Informação em Rede. António Manuel de Carvalho Alegria. Master Thesis, Instituto Superior Técnico, Portugal, November 2009
- Supporting Collaborative Work Through Flexible Process Execution. Stefan Jablonski, Michael Igler, and Christoph Gunther. Proceedings of the 5th International Conference on Collaborative Computing: Networking, Applications and Worksharing (CollaborateCom 2009), November 2009. IEEE.
- Gorgias-C: Extending Argumentation with Constraint Solving. Victor Noël and Antonis C. Kakas. Proceedings of the 10th International Conference on Logic Programming and Nonmonotonic Reasoning, September, 2009. LNCS 5753. Springer-Verlag Berlin Heidelberg.
- Dialogue Organization in Polint-112-SMS. Justyna Walkowska. Human Language Technology. Challenges for Computer Science and Linguistics. LNCS 6562. Springer Berlin Heidelberg.
- Object-Oriented Logic Programming. Marta-Monica Dogaru. Bachelor Thesis, Technical University of Catalonia, Babeş-Bolyai University Cluj-Napoca, Faculty of Mathematics and Computer Science, Romania, 2008.
- Design Dependencies Within the Automatic Generation of Hypermedia Presentations. Oscar Rosell Martinez. Master Thesis, Technical University of Catalonia, June 30, 2002. CWI technical report INS-R0205.
- (more to come)
- Paulo Moura (language designer, developer, and maintainer)
- Abramo Bagnara (efficient expansion of once/1 goals and bug reports in corner cases when compiling disjunctions)
- Andreas Becker (PDT support for Logtalk; bug reports)
- Anne Ogborn (bug reports, usability suggestions)
- Artur Miguel Dias (testing, lambda expression examples)
- Artur Wang (Visual Studio Code support for Logtalk)
- Arun Majumdar (bug reports, usability suggestions)
- Barry Evans (dead code scanner tool, usability suggestions)
- Clara Dimene (GeSHi syntax highlighter)
- Damien Roch (Docker support)
- 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)
- Ivan Bratko (search methods in the state-space searching example)
- Jan Burse (unit tests patches and feedback)
- Jan Wielemaker (feedback on Prolog compliance testing)
- 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)
- 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 Sheets (text editor support)
- Michael T. Richter (Textadept text editor support)
- Neda Saeedloei (coinduction examples)
- Neng-Fa Zhou (bug reports)
- Nicolas Pelletier (bug reports, text editor support)
- Parker Jones (testing, unit tests, bug reports)
- 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)
- 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)
- Timon Van Overveldt (multi-threading optimization and bug reports)
- Theofrastos Mantadelis ("flags" contribution, ProbLog integration support, benchmark tests)
- Ulrich Neumerkel (lambda expression examples, bug reports, and feedback on Prolog compliance testing)
- Victor Lagerkvist (testing, library enhancements, made Verdi Neruda available)
- Victor Noel (bug reports)
- Vítor Santos Costa (red-black tree library)
- Xin Wang (bug reports)
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.
- Kyndi Inc. — 2015–2017
- VivoMind Research, LLC — 2012–2013
Open-source software used by Logtalk development and distribution.
- Several open-source Prolog compilers (development)
- TextMate (coding)
- MacPorts (macOS installer)
- InnoSetup (Windows installer)
- RPM (Linux installer)
- dpkg (Debian installer)
- Git (source code version control)
- Sphinx (HTML, PDF, and ePub documentation)
- Read the Docs Sphinx Theme (HTML, PDF, and ePub documentation)
- Graphviz (diagrams)
- phpBB (discussion forums)
- WordPress (blog)
- Jekyll (website)
- TeXt Jekyll theme (website)
- roffit (man pages to HTML converter)