Cited by 41Logic, programming, and type systemsLogic, Reasoning, and KnowledgeTeaching and Learning Programming

Fifty Years of Prolog and Beyond

Open access
KÖRNER, PHILIPP, LEUSCHEL, MICHAEL, BARBOSA, JOÃO, COSTA, VÍTOR SANTOS, DAHL, VERÓNICA, HERMENEGILDO, MANUEL V., MORALES, JOSE F., WIELEMAKER, JAN +3 more·2022·Theory and Practice of Logic Programming

Abstract

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.

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.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1017/s1471068422000102

Cites

298 of 298 references verified0 citation errors · 0 not checkable

Statistics

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.

A few free checks a day · papers already verified open instantly · results are public

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?

  • In ILP, Prolog 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.

    “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]

    The Artificial Intelligence section (p. 52) says Prolog is typically used in ILP to represent background knowledge, examples, and induced theories. Section 2.1 (p. 5) describes Prolog’s resolution-based execution of queries. Neither passage says that executing candidate predicates on subsets of examples verifies whether an invented predicate generalizes as intended. (LLM, conf=0.84)

    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.

Cites

Flagged first, then by citations

11 of the 309 references couldn’t be matched to a known paper.

Research works printed but not linked: 39

  1. 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.
  2. Apt, K. and Wallace, M. 2007. Constraint Logic Programming Using ECLiPSe . Cambridge University Press.
  3. Blackburn, P. , Bos, J. and Striegnitz, K. 2006. Learn Prolog Now! Vol. 7. College Publications Londres.
  4. Byrd, L. 1980. Understanding the control flow of Prolog programs. In Proceedings Logic Programing Workshop , S. ˚ Ake T¨ arnlund, Ed., 127-138.
  5. Carro, M. , Morales, J. , Muller, H. , Puebla, G. and Hermenegildo, M. V. 2006. Highlevel languages for small devices: A case study. In Proceedings CASES , K. Flautner and T. Kim, Eds. ACM Press/Sheridan, 271-281.
  6. 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.
  7. Clocksin, W. F. and Mellish, C. 1981. Programming in Prolog . Springer.
  8. Codognet, P. and Diaz, D. 1995. wamcc: Compiling Prolog to C. In Proceedings ICLP , L. Sterling, Ed. MIT Press, 317-331.
  9. Colmerauer, A. 1975. Les grammaires de m´ etamorphose GIA. Internal publication, Groupe Intelligence artificielle, Facult´ e des Sciences de Luminy, Universit´ e 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.
  10. Colmerauer, A. 1982a. Prolog and infinite trees. In Proceedings Workshop on Logic Programming 1980 , K. L. Clark and S. ˚ Ake T¨ arnlund, Eds. Academic Press, 231-251.
  11. Costa, V. S. , Warren, D. H. and Yang, R. 1991. Andorra I: A parallel Prolog system that transparently exploits both and-and or-parallelism. In Proceedings PPOPP , R. L. Wexelblat, Ed. ACM, 83-93.
  12. Dahl, V. 1977. Un syst` eme d´ eductif d'interrogation de banques de donn´ ees en espagnol. Ph.D. thesis, Universit´ e d'Aix-Marseille II.
  13. Dahl, V. 1992. Comment on implementing government-binding theories. In Formal Linguistics: Theory and Practice , R. Levine, Ed. Oxford University Press, 276-289.
  14. Dahl, V. and Miralles, J. E. 2012. Womb grammars: Constraint solving for grammar induction. In Proceedings CHR , J. Sneyers and T. Fr¨ uhwirth, Eds. Report CW, vol. 624. KU Leuven, 32-40.
  15. Dahl, V. and Tarau, P. 2004. Assumptive logic programming. In Proceedings ASAI .
  16. 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.
  17. Elcock, E. 1990. Absys: The first logic programming language. Journal of Logic Programming 9, 1, 1-17.
  18. Forgy, C. L. 1989. Rete: A fast algorithm for the many pattern/many object pattern match problem. In Readings in Artificial Intelligence and Databases . Elsevier, 547-559.
  19. Fr¨ uhwirth, 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).
  20. Gebser, M. , Kaminski, R. , Kaufmann, B. and Schaub, T. 2014. Clingo = ASP + Control: Preliminary Report. arXiv 1405.3694. · arXiv
  21. 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 .
  22. Hermenegildo, M. V. , Bueno, F. , Cabeza, D. , Carro, M. , Garcia de la Banda, M. , L´ opez-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.
  23. Hill, P. and Lloyd, J. W. 1994. The G¨ odel Programming Language . MIT press.
  24. Holzbaur, C. 1995. OFAI CLP(Q,R) Manual, Edition 1.3.3. Tech. Rep. TR-95-09, Austrian Research Institute for Artificial Intelligence, Vienna.
  25. Kacsuk, P. and Wise, M. 1992. Implementations of Distributed Prolog . John Wiley & Sons, Inc.
  26. Kowalski, R. 2020. Logical English. In Proceedings LPOP , D. Warren, P. V. Roy and Y. A. Liu, Eds. 33-37.
  27. Marcus, G. and Davis, E. 2020. GPT-3, Bloviator: OpenAI's language generator has no idea what it's talking about. Technology Review .
  28. Marple, K. , Salazar, E. and Gupta, G. 2017. Computing Stable Models of Normal Logic Programs Without Grounding. arXiv 1709.00501. · arXiv
  29. Moura, P. 2003. Design of an Object-Oriented Logic Programming Language . Ph.D. thesis, Universidade da Beira Interior.
  30. Neumerkel, U. 1990. Extensible unification by metastructures. In Proceedings META .
  31. O'Keefe, R. A. 1990. The Craft of Prolog . MIT Press.
  32. Pasero, R. 1973. Repr´ esentation du fran¸ cais en logique du premier ordre en vue de dialoguer avec un ordinateur . Ph.D. thesis, Facult´ e des Sciences de Luminy, Universit´ e Aix-Marseille II.
  33. 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.
  34. Pisano, G. , Calegari, R. , Omicini, A. and Sartor, G. 2020. Argtu Prolog: A tu Prolog-based argumentation framework. In Proceedings CILC , F. Calimeri, S. Perri and E. Zumpano, Eds. CEUR Workshop Proceedings, vol. 2719. CEUR, 51-66.
  35. Roberts, G. M. 1977. An Implementation of PROLOG . Ph.D. thesis, University of Waterloo, Waterloo, Ontario, Canada. (Master Thesis).
  36. Roussel, P. 1972. D´ efinition et traitement de l'´ egalit´ e formelle en d´ emonstration automatique . Ph.D. thesis, Facult´ e des Sciences de Luminy, Universit´ e Aix-Marseille II.
  37. Santos Costa, V. , Sagonas, K. F. and Lopes, R. 2007. Demand-driven indexing of Prolog clauses. In Proceedings ICLP , V. Dahl and I. Niemel¨ a, Eds. LNCS, vol. 4670. Springer, 395409.
  38. Warren, D. H. 1990. The extended Andorra model with implicit control. Presented at ICLP'90 Workshop on Parallel Logic Programming.
  39. Zhou, N.-F. , Kjellerstrand, H. and Fruhman, J. 2015. Constraint Solving and Planning with Picat . SpringerBriefs in Intelligent Systems. Springer.

Cited by

Sorted by citations

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)
Venue
Theory and Practice of Logic Programming
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
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 › Artificial Intelligence › 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