Hostname: page-component-7b7567c8c-fvjsw Total loading time: 0 Render date: 2026-11-12T14:58:57.131Z Has data issue: false hasContentIssue false

The BinProlog experience: Architecture and implementation choices for continuation passing Prolog and first-class logic engines

Published online by Cambridge University Press:  12 September 2011

PAUL TARAU*
Affiliation:
Department of Computer Science and Engineering, University of North Texas, Denton, Texas 76203-6886, USA (e-mail: tarau@cs.unt.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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 Warren Abstract Machine (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.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2011