The DOI matches its Crossref record; 298 of the 309 references it cites were found in a registry or an index.
Fifty Years of Prolog and Beyond
Open accessAbstract
Both logic programming in general and Prolog in particular have a long and fascinating history, intermingled with that of many disciplines they inherited from or catalyzed. A large body of research has been gathered over the last 50 years, supported by many Prolog implementations. Many implementations are still actively developed, while new ones keep appearing. Often, the features added by different systems were motivated by the interdisciplinary needs of programmers and implementors, yielding systems that, while sharing the “classic” core language, in particular, the main aspects of the ISO-Prolog standard, also depart from each other in other aspects. This obviously poses challenges for code portability. The field has also inspired many related, but quite different languages that have created their own communities. This article aims at integrating and applying the main lessons learned in the process of evolution of Prolog. It is structured into three major parts. First, we overview the evolution of Prolog systems and the community approximately up to the ISO standard, considering both the main historic developments and the motivations behind several Prolog implementations, as well as other logic programming languages influenced by Prolog. Then, we discuss the Prolog implementations that are most active after the appearance of the standard: their visions, goals, commonalities, and incompatibilities. Finally, we perform a SWOT analysis in order to better identify the potential of Prolog and propose future directions along with which Prolog might continue to add useful features, interfaces, libraries, and tools, while at the same time improving compatibility between implementations.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Claims other papers make about this one
Each is checked against this paper’s own text: does it say what the citing paper says it does?
The source backs part of the claim, not all of it — or backs it for a different population, condition or comparison.
In the citing paper
“In the context of ILP, Prolog [12], the predominant logic programming language used in ILP, offers a deductive engine that serves as a natural verifier: by executing candidate predicates on subsets of examples, it precisely reveals whether an invented predicate generalizes as intended.”
From ADVENT: LLM-Driven Automatic Predicate Invention for ILP (2026) · cites this paper as [12]
Experimental — accuracy not yet measured
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2018) · arXiv · doi:10.48550/arxiv.1810.04805 · Cited by 73,173
Lecture Notes in Computer Science 1205
(1999) · Industrial Robot the international journal of robotics research and application · doi:10.1108/ir.1999.04926fae.001 · Cited by 39,228
Cousot, P., & Cousot, R. (1977) · Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '77 · doi:10.1145/512950.512973 · Cited by 6,279
Lipton, Z. C. (2018) · Queue · doi:10.1145/3236386.3241340 · Cited by 5,427
A Machine-Oriented Logic Based on the Resolution Principle
Robinson, J. A. (1965) · Journal of the ACM · doi:10.1145/321250.321253 · Cited by 4,012
Cultivating Communities of Practice: A Guide to Managing Knowledge
Cuddy, C. (2002) · The Bottom Line Managing Library Finances · doi:10.1108/bl.2002.17015bae.001 · Cited by 3,940
Algorithms of Oppression: How Search Engines Reinforce Racism
Noble, S. U. (2020) · doi:10.2307/j.ctt1pwt9w5 · Cited by 2,709
GPT-3: Its Nature, Scope, Limits, and Consequences
Floridi, L., & Chiriatti, M. (2020) · Minds and Machines · doi:10.1007/s11023-020-09548-1 · Cited by 2,519
Clark, K. (1978) · Springer eBooks · doi:10.1007/978-1-4684-3384-5_11 · Cited by 2,111
Akers (1978) · IEEE Transactions on Computers · doi:10.1109/tc.1978.1675141 · Cited by 1,831
Research works printed but not linked: 56
- Gebser, M. , Kaminski, R. , Kaufmann, B. and Schaub, T. 2014. Clingo = ASP + Control: Preliminary Report. arXiv 1405.3694. · arXiv
- Dahl, 1986, Gramaticas discontinuas: una herramienta computacional con aplicaciones en la teoria de Reccion y Ligamiento, Revista Argentina de Lingüística 2, 2, 375
- Pereira, 1987, Prolog and Natural-Language Analysis
- Nori, 1974, Berichte des Instituts für Informatik
- Frühwirth, T. 1992. Constraint simplification rules. In Proceedings JICSLP Workshop on Constraint Logic Programming. (Also available as Technical Report ECRC-92-18, ECRC Munich, Germany, July 1992).
- Roussel, P. 1972. Définition et traitement de l’égalité formelle en démonstration automatique. Ph.D. thesis, Faculté des Sciences de Luminy, Université Aix-Marseille II.
- Zhou, 2015, SpringerBriefs in Intelligent Systems
- de Raedt, 2016, Synthesis Lectures on Artificial Intelligence and Machine Learning
- Boyer, 1972, The sharing structure in theorem-proving programs, Machine Intelligence 7, 101
- Moura, 2009, Uniting the Prolog community: Personal notes, Association for Logic Programming Newsletter 22, 1
- Elcock, 1990, Absys: The first logic programming language, Journal of Logic Programming 9, 1, 1
- Kacsuk, 1992, Implementations of Distributed Prolog
- Moura, P. 2003. Design of an Object-Oriented Logic Programming Language. Ph.D. thesis, Universidade da Beira Interior.
- 10.1145/185403.185453 · DOI
- Dahl, V. 1977. Un système déductif d’interrogation de banques de données en espagnol. Ph.D. thesis, Université d’Aix-Marseille II.
- Kowalski, R. 2020. Logical English. In Proceedings LPOP, D. Warren, P. V. Roy and Y. A. Liu, Eds. 33–37.
- Pereira, 1983, C-Prolog User’s Manual
- Johnson, 1983, Edinburgh Prolog Tools. Tech. Rep, Note
- Diaz, D. and Codognet, P. 1993. A minimal extension of the WAM for clp(FD). In Proceedings ICLP, D. S. Warren, Ed. MIT Press, 774–790.
- Hill, 1994, The Gödel Programming Language
- Roberts, G. M. 1977. An Implementation of PROLOG. Ph.D. thesis, University of Waterloo, Waterloo, Ontario, Canada. (Master Thesis).
- Naish, 1986, Lecture Notes in Computer Science, 238
- Ciatto, G. , Calegari, R. , Siboni, E. , Denti, E. and Omicini, A. 2020. 2P-Kt: Logic programming with objects & functions in Kotlin. In Proceedings WOA 2020, R. Calegari, G. Ciatto, E. Denti, A. Omicini and G. Sartor, Eds. CEUR Workshop Proceedings, vol. 2706. CEUR, 219–236.
- Szeredi, 2004, The early days of Prolog in hungary, Association for Logic Programming Newsletter 17, 4
- Pasero, R. 1973. ReprÉsentation du franÇais en logique du premier ordre en vue de dialoguer avec un ordinateur. Ph.D. thesis, FacultÉ des Sciences de Luminy, Université Aix-Marseille II.
- Lipton, 2018, The Mythos of model interpretability, Queue 16, 3
- Green, 1969, Outstanding Dissertations in the Computer Sciences
- Warren, D. H. 1990. The extended Andorra model with implicit control. Presented at ICLP’90 Workshop on Parallel Logic Programming.
- van Emden, 2006, The early days of logic programming: A personal perspective, The Association of Logic Programming Newsletter 19, 3
- 10.1017/S1471068421000211 · DOI
- Carlsson, 1986, SICStus: Preliminary Specification
- Holzbaur, C. 1995. OFAI CLP(Q,R) Manual, Edition 1.3.3. Tech. Rep. TR-95-09, Austrian Research Institute for Artificial Intelligence, Vienna.
- Hermenegildo, M. V. 2012. Conferences vs. Journals in CS, what to do? Evolutionary ways forward and the ICLP/TPLP model. In Publication Culture in Computing Research — Position Papers, K. Mehlhorn, M. Y. Vardi and M. Herbstritt, Eds. Dagstuhl Reports, vol. 12452. Dagstuhl Publishing, 29–30. URL: http://cliplab.org/papers/dagstuhl-tplpmove.pdf.
- Moura, 2005, Prolog portability and standardization, Association for Logic Programming Newsletter 18, 3
- Byrd, L. 1980. Understanding the control flow of Prolog programs. In Proceedings Logic Programing Workshop, S. Åke Tärnlund, Ed., 127–138.
- Swift, 2009, Prolog-commons working group report, Association for Logic Programming Newsletter 22, 1
- Dahl, V. and Tarau, P. 2004. Assumptive logic programming. In Proceedings ASAI.
- Colmerauer, A. 1975. Les grammaires de métamorphose GIA. Internal publication, Groupe Intelligence artificielle, Faculté des Sciences de Luminy, Université Aix-Marseille II, France, Nov 1975. English version, Metamorphosis grammars. In Natural Language Communication with Computers, L. Bolc, Ed. Lecture Notes in Computer Science, vol. 63. Springer, 1978, 133–189.
- Colmerauer, A. 1982a. Prolog and infinite trees. In Proceedings Workshop on Logic Programming 1980, K. L. Clark and S. Åke Tärnlund, Eds. Academic Press, 231–251.
- Aít-Kaci, H. , Dumant, B. , Meyer, R. , Podelski, A. and Roy, P. V. 1994. The Wild LIFE Handbook. Digital Paris Research Laboratory. Prepublication Edition.
- Marcus, G. and Davis, E. 2020. GPT-3, Bloviator: OpenAI’s language generator has no idea what it’s talking about. Technology Review.
- Dahl, V. and Miralles, J. E. 2012. Womb grammars: Constraint solving for grammar induction. In Proceedings CHR, J. Sneyers and T. Frühwirth, Eds. Report CW, vol. 624. KU Leuven, 32–40.
- Neumerkel, U. 1990. Extensible unification by metastructures. In Proceedings META.
- O’Keefe, 1990, The Craft of Prolog
- Pineda, A. and Bueno, F. 2002. The O’Ciao approach to object oriented logic programming. In Proceedings CICLOPS, B. Demoen, Ed. Report CW, vol. 344. KU Leuven, 37–48.
- Dahl, 1992, Formal Linguistics: Theory and Practice, 276
- Pereira, 1978, User’s Guide to DECsystem-10 Prolog
- 10.1145/362007.362035 · DOI
- Codognet, P. and Diaz, D. 1995. wamcc: Compiling Prolog to C. In Proceedings ICLP, L. Sterling, Ed. Press, MIT , 317–331.
- Thom, 1987, NU-Prolog Reference Manual
- Blackburn, 2006, Learn Prolog Now!, 7
- Apt, 2007, Constraint Logic Programming Using ECLiPSe
- Marple, K. , Salazar, E. and Gupta, G. 2017. Computing Stable Models of Normal Logic Programs Without Grounding. arXiv 1709.00501. · arXiv
- Hermenegildo, M. V. , Bueno, F. , Cabeza, D. , Carro, M. , Garcia de la Banda, M. , Lãpez-García, P. and Puebla, G. 1996. The CIAO multi-dialect compiler and system: An experimentation workbench for future (C)LP systems (extended abstract). In Proceedings AGP, P. Lucio, M. Martelli and M. Navarro, Eds., 105–110.
- Clocksin, 1981, Programming in Prolog
- Dahl, 1998, From assumptions to meaning, Canadian Artificial Intelligence 42, 26
Cited by
Sorted by citations
Logic-LM: Empowering Large Language Models with Symbolic Solvers for Faithful Logical Reasoning
Pan, L., Albalak, A., Wang, X., & Wang, W. Y. (2023) · arXiv · doi:10.48550/arxiv.2305.12295 · Cited by 144
“The Prolog logic programming language (Clocksin and Mellish, 2003; Körner et al., 2022) is arguably the most prominent symbolic language to describe deductive reasoning problems.”
BackgroundLarge Knowledge Model: Perspectives and Challenges
Chen, H. (2024) · Data Intelligence · doi:10.3724/2096-7004.di.2024.0001 · Cited by 56
A universal knowledge model and cognitive architectures for prototyping AGI
Sukhobokov, A. A., Belousov, E. A., Gromozdov, D. R., Zenger, A. S., & Popov, I. A. (2024) · Cognitive Systems Research · doi:10.1016/j.cogsys.2024.101279 · Cited by 20
Symbolic knowledge extraction for explainable nutritional recommenders
Magnini, M., Ciatto, G., Cantürk, F., Aydoğan, R., & Omicini, A. (2023) · Computer Methods and Programs in Biomedicine · doi:10.1016/j.cmpb.2023.107536 · Cited by 11
Self-citationJaKtA: BDI Agent-Oriented Programming in Pure Kotlin
Baiardi, M., Burattini, S., Ciatto, G., & Pianini, D. (2023) · Lecture notes in computer science · doi:10.1007/978-3-031-43264-4_4 · Cited by 11
Self-citation
Metadata
- Authors
- KÖRNER, P., LEUSCHEL, M., BARBOSA, J., COSTA, V. S., DAHL, V., HERMENEGILDO, M. V., MORALES, J. F., WIELEMAKER, J., DIAZ, D., ABREU, S., & CIATTO, G.
- Affiliations
- Heinrich Heine University Düsseldorf (DE)
- Universidade do Porto (PT)
- Simon Fraser University (CA)
- IMDEA Software Institute (ES)
- Centrum Wiskunde & Informatica (NL)
- University of Évora (PT)
- University of Bologna (IT)
- ORCID
- Venue
- Theory and Practice of Logic Programming
- Publisher
- Cambridge University Press (CUP)
- Published
- 2022-05-17
- Volume
- 22
- Issue
- 6
- Pages
- 776-858
- ISSN
- 1471-0684 (ISSN-L)
- 1475-3081
- OpenAlex
- W4280605585
- Cited by
- 40
- References
- 309
- Citations by year
- 2026: 7 · 2025: 10 · 2024: 11 · 2023: 10 · 2022: 2
- FWCI
- 2.71
- Type
- journal article
- Language
- en
- Open access
- hybrid
- doi.org
- Licence
- Locations
- Theory and Practice of Logic Programming (publishedVersion, cc-by-sa)
- Archivio istituzionale della ricerca (Alma Mater Studiorum Università di Bologna) (submittedVersion, cc-by-sa)
- Centrum Wiskunde & Informatica (CWI), the national research institute for mathematics and computer science in the Netherlands (submittedVersion, public-domain)
- HAL (submittedVersion)
- Portuguese National Funding Agency for Science, Research and Technology (RCAAP Project by FCT) (submittedVersion, other-oa)
- Funders
- Ministerio de Ciencia e Innovación (PID2019)
- NOVA Laboratory for Computer Science and Informatics (UIDB/04516/2020)
- Natural Sciences and Engineering Research Council of Canada
- Fundação para a Ciência e a Tecnologia (UIDB/04516/2020)
- Topics
- Physical Sciences › Computer Science › Software › Logic, programming, and type systems
- Physical Sciences › Computer Science › Artificial Intelligence › Logic, Reasoning, and Knowledge
- Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
- Keywords
- Prolog, logic programming, Prolog implementation, code portability, logic programming languages, SWOT analysis
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review