arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1102.1178cs.PL
收藏

BinProlog经验:继续传递Prolog和一流逻辑引擎的体系结构和实现选择

The BinProlog Experience: Architecture and Implementation Choices for Continuation Passing Prolog and First-Class Logic Engines

Paul Tarau

摘要:

我们描述了BinProlog系统的编译技术,运行时系统和它的扩展支持一流的逻辑引擎,同时提供了一个简短的历史,它的一些较新的重新实现的细节,以及在他们的设计中涉及的最重要的架构选择的概述。与传统的WAM实现的差异,我们解释BinProlog的编译技术,它取代了WAM与简化的连续传递运行时系统(“BinWAM”)的关键细节,基于映射的完整Prolog二进制逻辑程序。这之后是使用“tag-on-data”表示的术语压缩技术的描述。后来的衍生产品,基于Java的Jinni Prolog编译器和最近开发的Lean Prolog系统用一流的逻辑引擎改进了BinProlog架构,通过使用Interactor接口使其通用。概述了他们的应用程序,重点是在源代码级别表达各种Prolog内置和扩展的能力,涵盖了这些新的发展。

英文摘要:

We describe the BinProlog system's compilation technology, runtime system and its extensions supporting first-class Logic Engines while providing a short history of its development, details of some of its newer re-implementations as well as an overview of the most important architectural choices involved in their design. With focus on its differences with conventional WAM implementations, we explain key details of BinProlog's compilation technique, which replaces the WAM with a simplified continuation passing runtime system (the "BinWAM"), based on a mapping of full Prolog to binary logic programs. This is followed by a description of a term compression technique using a "tag-on-data" representation. Later derivatives, the Java-based Jinni Prolog compiler and the recently developed Lean Prolog system refine the BinProlog architecture with first-class Logic Engines, made generic through the use of an Interactor interface. An overview of their applications with focus on the ability to express at source level a wide variety of Prolog built-ins and extensions, covers these newer developments.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑