Prolog五十年及以后
Fifty Years of Prolog and Beyond
摘要:
一般来说,逻辑编程,特别是Prolog,都有着悠久而迷人的历史,与它们继承或催化的许多学科交织在一起。在过去的50年里,已经收集了大量的研究,并得到了许多Prolog实现的支持。许多实现仍在积极开发中,而新的实现不断出现。通常,不同系统添加的功能是由程序员和实现者的跨学科需求所驱动的,产生的系统虽然共享“经典”核心语言,特别是ISO-Prolog标准的主要方面,但在其他方面也彼此不同。这显然对代码的可移植性提出了挑战。这个领域也激发了许多相关但完全不同的语言,这些语言创建了自己的社区。本文旨在整合和应用Prolog演变过程中的主要经验教训。报告分为三个主要部分。首先,我们概述了Prolog系统和社区的发展,大约达到ISO标准,考虑到主要的历史发展和几个Prolog实现背后的动机,以及其他逻辑程序设计语言的影响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.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。