论文标题

五十年的序言及以后

Fifty Years of Prolog and Beyond

论文作者

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

论文摘要

逻辑编程一般,尤其是序言,都有悠久而有趣的历史,与他们继承或催化的许多学科相结合。在过去的50年中,已经收集了大量的研究,并得到许多序言实施的支持。许多实现仍在积极开发,而新实施则不断出现。通常,不同系统添加的功能是由程序员和实施者的跨学科需求激励的,产生了同时共享“经典”核心语言的系统,尤其是ISO-Prog Standard的主要方面,在其他方面也彼此之间。这显然对代码可移植性构成了挑战。该领域还启发了许多相关的相关语言,这些语言创造了自己的社区。 本文旨在整合和运用序言进化过程中所学的主要经验教训。它分为三个主要部分。首先,我们概述了序言系统和社区的演变,大约要符合ISO标准,考虑到几种主要的历史发展和几种Prolog实施背后的动机以及其他受Prolog影响的逻辑编程语言。然后,我们讨论标准出现后最活跃的序言实现:它们的愿景,目标,共同点和不兼容。最后,我们进行SWOT分析以更好地识别Prolog的潜力,并提出未来的方向,Prolog可能会继续添加有用的功能,接口,库和工具,同时提高实现之间的兼容性。

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, and, 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. Firstly, 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 which Prolog might continue to add useful features, interfaces, libraries, and tools, while at the same time improving compatibility between implementations.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源