Scallop
ichiban/prolog
The only reasonable scripting engine for Go
AZ-Prolog – 論理型言語Prolog処理系
Prolog Programming for Artificial Intelligence
Adventure in Prolog | SpringerLink
Building Expert Systems in Prolog | SpringerLink
klaudiosinani/awesome-prolog: Curated list of Prolog packages and resources
Curated list of Prolog packages and resources.
miniKanren.org
An Elementary Prolog Library
Rethinking Prolog
The strong points of Prolog can be brought into an ordinary functional programming language. Using OCaml as a representative, we implement lazy guessing as a library, with which we reproduce classical Prolog examples.
Correctness Considerations in CLP(FD) Systems
In this thesis, we show examples of common limitations and mistakes of several widely used CLP(FD) systems. We then present a new CLP(FD) system that overcomes some of these issues.
Coding guidelines for Prolog
SWI-Prolog
In this article we present SWI-Prolog as an integrating tool, supporting a wide range of ideas developed in the Prolog community and acting as glue between <i>foreign</i> resources. This article itself is the glue between technical articles on SWI-Prolog, providing context and experience in applying them over a longer period.
Portability of Prolog programs: theory and case-studies
(Non-)portability of Prolog programs is widely considered as an important factor in the lack of acceptance of the language. Since 1995, the core of the language is covered by the ISO standard 13211-1. Since 2007, YAP and SWI-Prolog have established a basic compatibility framework. This article describes and evaluates this framework. The aim of the framework is running the same code on both systems rather than migrating an application. We show that today, the portability within the family of Edinburgh/Quintus derived Prolog implementations is good enough to allow for maintaining portable real-world applications.
Lambdas in ISO Prolog
Higher order programming is possible in Prolog. There is no need to extend the language for that. See Richard O'Keefe's arguments in comp.lang.prolog more than ten years ago. What is missing are lambda expressions.
We present a very simple implementation of lambda expressions in ISO Prolog that fits into the existing conventions for higher order predicates based on call/N
. No syntax or compiler extension is needed.
Precise Garbage Collection in Prolog
In this paper we present a series of tiny programs that verify that a Prolog heap garbage collector can find specific forms of garbage.
Odd Prolog Benchmarking
Logic programming for the real world
Use of Prolog for developing a new programming language
This paper describes how Prolog was used for the development of a new concurrent realtime symbolic programming language called Erlang.
The birth of Prolog
The programming language, Prolog, was born of a project aimed not at producing a programming language but at processing natural languages; in this case, French. The project gave rise to a preliminary version of Prolog at the end of 1971 and a more definitive version at the end of 1972. This article gives the history of this project and describes in detail the preliminary and then the final versions of Prolog. The authors also felt it appropriate to describe the Q-systems since it was a language which played a prominent part in Prolog’s genesis.
The family of concurrent logic programming languages
The early years of logic programming
This firsthand recollection of those early days of logic programming traces the shared influences and inspirations that connected Edinburgh, Scotland, and Marseilles, France.
Algorithm = Logic + Control
Can Logic Programming Be Liberated from Predicates and Backtracking?
Visual Prolog: A Versatile Programming Language
Visual Prolog is a versatile programming language built upon the logical language Prolog, combining the best features of logical, functional, and object-oriented programming paradigms.
Strawberry Prolog
Professional tool for programming in Prolog. Free Light edition with many example programs in it.
XSB