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

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 access
KÖRNER, PHILIPP, LEUSCHEL, MICHAEL, BARBOSA, JOÃO, COSTA, VÍTOR SANTOS, DAHL, VERÓNICA, HERMENEGILDO, MANUEL V., MORALES, JOSE F., WIELEMAKER, JAN, DIAZ, DANIEL, ABREU, SALVADOR, CIATTO, GIOVANNI·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.

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.

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

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.

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?

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

Items 201–298 of 298

Flagged first, then by citations

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

Research works printed but not linked: 56

  1. Gebser, M. , Kaminski, R. , Kaufmann, B. and Schaub, T. 2014. Clingo = ASP + Control: Preliminary Report. arXiv 1405.3694. · arXiv
  2. Dahl, 1986, Gramaticas discontinuas: una herramienta computacional con aplicaciones en la teoria de Reccion y Ligamiento, Revista Argentina de Lingüística 2, 2, 375
  3. Pereira, 1987, Prolog and Natural-Language Analysis
  4. Nori, 1974, Berichte des Instituts für Informatik
  5. 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).
  6. 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.
  7. Zhou, 2015, SpringerBriefs in Intelligent Systems
  8. de Raedt, 2016, Synthesis Lectures on Artificial Intelligence and Machine Learning
  9. Boyer, 1972, The sharing structure in theorem-proving programs, Machine Intelligence 7, 101
  10. Moura, 2009, Uniting the Prolog community: Personal notes, Association for Logic Programming Newsletter 22, 1
  11. Elcock, 1990, Absys: The first logic programming language, Journal of Logic Programming 9, 1, 1
  12. Kacsuk, 1992, Implementations of Distributed Prolog
  13. Moura, P. 2003. Design of an Object-Oriented Logic Programming Language. Ph.D. thesis, Universidade da Beira Interior.
  14. 10.1145/185403.185453 · DOI
  15. 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.
  16. Kowalski, R. 2020. Logical English. In Proceedings LPOP, D. Warren, P. V. Roy and Y. A. Liu, Eds. 33–37.
  17. Pereira, 1983, C-Prolog User’s Manual
  18. Johnson, 1983, Edinburgh Prolog Tools. Tech. Rep, Note
  19. 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.
  20. Hill, 1994, The Gödel Programming Language
  21. Roberts, G. M. 1977. An Implementation of PROLOG. Ph.D. thesis, University of Waterloo, Waterloo, Ontario, Canada. (Master Thesis).
  22. Naish, 1986, Lecture Notes in Computer Science, 238
  23. 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.
  24. Szeredi, 2004, The early days of Prolog in hungary, Association for Logic Programming Newsletter 17, 4
  25. 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.
  26. Lipton, 2018, The Mythos of model interpretability, Queue 16, 3
  27. Green, 1969, Outstanding Dissertations in the Computer Sciences
  28. Warren, D. H. 1990. The extended Andorra model with implicit control. Presented at ICLP’90 Workshop on Parallel Logic Programming.
  29. van Emden, 2006, The early days of logic programming: A personal perspective, The Association of Logic Programming Newsletter 19, 3
  30. 10.1017/S1471068421000211 · DOI
  31. Carlsson, 1986, SICStus: Preliminary Specification
  32. Holzbaur, C. 1995. OFAI CLP(Q,R) Manual, Edition 1.3.3. Tech. Rep. TR-95-09, Austrian Research Institute for Artificial Intelligence, Vienna.
  33. 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.
  34. Moura, 2005, Prolog portability and standardization, Association for Logic Programming Newsletter 18, 3
  35. Byrd, L. 1980. Understanding the control flow of Prolog programs. In Proceedings Logic Programing Workshop, S. Åke Tärnlund, Ed., 127–138.
  36. Swift, 2009, Prolog-commons working group report, Association for Logic Programming Newsletter 22, 1
  37. Dahl, V. and Tarau, P. 2004. Assumptive logic programming. In Proceedings ASAI.
  38. 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.
  39. 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.
  40. 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.
  41. Marcus, G. and Davis, E. 2020. GPT-3, Bloviator: OpenAI’s language generator has no idea what it’s talking about. Technology Review.
  42. 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.
  43. Neumerkel, U. 1990. Extensible unification by metastructures. In Proceedings META.
  44. O’Keefe, 1990, The Craft of Prolog
  45. 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.
  46. Dahl, 1992, Formal Linguistics: Theory and Practice, 276
  47. Pereira, 1978, User’s Guide to DECsystem-10 Prolog
  48. 10.1145/362007.362035 · DOI
  49. Codognet, P. and Diaz, D. 1995. wamcc: Compiling Prolog to C. In Proceedings ICLP, L. Sterling, Ed. Press, MIT , 317–331.
  50. Thom, 1987, NU-Prolog Reference Manual
  51. Blackburn, 2006, Learn Prolog Now!, 7
  52. Apt, 2007, Constraint Logic Programming Using ECLiPSe
  53. Marple, K. , Salazar, E. and Gupta, G. 2017. Computing Stable Models of Normal Logic Programs Without Grounding. arXiv 1709.00501. · arXiv
  54. 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.
  55. Clocksin, 1981, Programming in Prolog
  56. Dahl, 1998, From assumptions to meaning, Canadian Artificial Intelligence 42, 26

Cited by

Sorted by citations

See all 41

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)
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 › 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