CLU reference manual
An abstract machine for restricted AND-parallel execution of logic programs
Proceedings on Third international conference on logic programming
Proceedings of the 4th conference on Logic programming '85
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
The family of concurrent logic programming languages
ACM Computing Surveys (CSUR)
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
A matching tree oriented abstract machine for Prolog
Logic programming
Warren's abstract machine: a tutorial reconstruction
Warren's abstract machine: a tutorial reconstruction
Nonstandard answers of elementary logic programs
Constructing logic programs
Applications of the Aurora parallel Prolog system to computational molecular biology
ILPS '93 Proceedings of the 1993 international symposium on Logic programming
A continuation-passing style for prolog
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
An abstract machine for SLG resolution: definite programs
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
Blackboard-based extensions in Prolog
Software—Practice & Experience
Prolog: the standard: reference manual
Prolog: the standard: reference manual
Segment order preserving copying garbage collection for WAM based Prolog
SAC '96 Proceedings of the 1996 ACM symposium on Applied Computing
Concurrency in Prolog using threads and a shared database
Proceedings of the 1999 international conference on Logic programming
An empirical study of list structure in Lisp
Communications of the ACM
Design of a separable transition-diagram compiler
Communications of the ACM
Implementation of Prolog as Binary Definite Programs
Proceedings of the First Russian Conference on Logic Programming
Ecological Memory Management in a Continuation Passing Prolog Engine
IWMM '92 Proceedings of the International Workshop on Memory Management
A Most Specific Method Finding Algorithm for Reflection Based Dynamic Prolog-to-Java Interfaces
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
Towards Inference and Computation Mobility: The Jinni Experiment
JELIA '98 Proceedings of the European Workshop on Logics in Artificial Intelligence
PLILP '90 Proceedings of the 2nd International Workshop on Programming Language Implementation and Logic Programming
Logic Programming and Logic Grammars with First-Order Continuations
LOPSTR '94/META '94 Proceedings of the 4th International Workshops on Logic Programming Synthesis and Transformation - Meta-Programming in Logic
So Many WAM Variations, So Little Time
CL '00 Proceedings of the First International Conference on Computational Logic
Fluents: A Refactoring of Prolog for Uniform Reflection an Interoperation with External Objects
CL '00 Proceedings of the First International Conference on Computational Logic
Instruction merging and specialization in the SICStus Prolog virtual machine
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
High-level networking with mobile code and first order AND-continuations
Theory and Practice of Logic Programming
Towards a high-level implementation of flexible parallelism primitives for symbolic languages
Proceedings of the 2007 international workshop on Parallel symbolic computation
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
A register-free abstract prolog machine with jumbo instructions
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Towards a jitting VM for prolog execution
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Proceedings of the sixth workshop on Declarative aspects of multicore programming
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Lightweight compilation of (c)lp to javascript*
Theory and Practice of Logic Programming
Hi-index | 0.00 |
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.