Introduction to the Special Issue on Prolog Systems
Bart Demoen (KU Leuven)
Maria Garcia de la Banda (Monash University)
It has now been forty years since the birth of the Prolog language and of its first implementation by A. Colmerauer and P. Roussel. Since then, a large number of Prolog systems have been implemented. While the core of the Prolog language has not changed much in these forty years, Prolog systems have undergone an extraordinary evolution that stems from two main sources. One is the trend to extend Prolog to incorporate ideas from other language paradigms that have proved useful in real-world applications. This includes concurrency, parallelism, higher order predicates, object oriented programming, Web interfaces, processing of large amounts of data, and flexible developer tools that enhance reliability and robustness through assertions. A second source of change is the exploration of ideas for which Prolog systems are uniquely suitable and that have led to the creation of new programming paradigms. This includes tabling, constraint logic programming, answer set programming, and probabilistic logic programming.
This evolution and the significant effort of separate groups around the world has led to a rich variety of Prolog systems, only partly held together by the ISO/IEC 13211-1 standard. While the roots of most current Prolog systems lie in the eighties, a period that is well accounted for in the survey by P. Van Roy, there has been a very significant amount of change since then. More than fifteen years after that survey, we believed it was time for a new look at the current Prolog systems, one that lets the systems’ authors have their say.
To achieve this, in April 2009 we invited a selected number of Prolog systems to contribute to this special issue based on the following criteria: the system must be actively maintained, freely available, clearly visible in the academic community and scientific literature, open source, have a real user base, a vision on the future, and
be used in real applications. […]