Arc and path consistence revisited
Artificial Intelligence
Computing with logic: logic programming with Prolog
Computing with logic: logic programming with Prolog
Constraint satisfaction in logic programming
Constraint satisfaction in logic programming
Improving the execution speed of compiled prolog with modes, clause selection, and determinism
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
Journal of Logic Programming
A matching tree oriented abstract machine for Prolog
Logic programming
From decision trees to decision graphs
Proceedings of the 1990 North American conference on Logic programming
On the scheme of passing arguments in stack frames for Prolog
Proceedings of the eleventh international conference on Logic programming
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
Parameter passing and control stack management in Prolog implementation revisited
ACM Transactions on Programming Languages and Systems (TOPLAS)
An abstract machine for tabled execution of fixed-order stratified logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A high-level intermediate language and the algorithms for compiling finite-domain constraints
JICSLP'98 Proceedings of the 1998 joint international conference and symposium on Logic programming
OLD Resolution with Tabulation
Proceedings of the Third International Conference on Logic Programming
Optimising Bytecode Emulation for Prolog
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
PLILP '90 Proceedings of the 2nd International Workshop on Programming Language Implementation and Logic Programming
So Many WAM Variations, So Little Time
CL '00 Proceedings of the First International Conference on Computational Logic
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
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
Can Logic Programming Execute as Fast as Imperative Programming?
Can Logic Programming Execute as Fast as Imperative Programming?
Programming finite-domain constraint propagators in Action Rules
Theory and Practice of Logic Programming
Simplifying dynamic programming via mode-directed tabling
Software—Practice & Experience
Linear tabling strategies and optimizations
Theory and Practice of Logic Programming
Two WAM Implementations of Action Rules
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
From Plain Prolog to Logtalk Objects: Effective Code Encapsulation and Reuse
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
Encoding Table Constraints in CLP(FD) Based on Pair-Wise AC
ICLP '09 Proceedings of the 25th International Conference on Logic Programming
Parameter learning of logic programs for symbolic-statistical modeling
Journal of Artificial Intelligence Research
Demand-driven indexing of prolog clauses
ICLP'07 Proceedings of the 23rd international conference on Logic programming
A register-free abstract prolog machine with jumbo instructions
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Mode-Directed Tabling for Dynamic Programming, Machine Learning, and Constraint Solving
ICTAI '10 Proceedings of the 2010 22nd IEEE International Conference on Tools with Artificial Intelligence - Volume 02
Compiling answer set programs into event-driven action rules
LPNMR'11 Proceedings of the 11th international conference on Logic programming and nonmonotonic reasoning
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Efficient tabling of structured data using indexing and program transformation
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Tor: extensible search with hookable disjunction
Proceedings of the 14th symposium on Principles and practice of declarative programming
Efficient tabling of structured data with enhanced hash-consing
Theory and Practice of Logic Programming
Constraints
A Tabled Prolog Program for Solving Sokoban
Fundamenta Informaticae - Special Issue on the Italian Conference on Computational Logic: CILC 2011
Hi-index | 0.01 |
B-Prolog is a high-performance implementation of the standard Prolog language with several extensions including matching clauses, action rules for event handling, finite-domain constraint solving, arrays and hash tables, declarative loop constructs, and tabling. The B-Prolog system is based on the Tree-Oriented Abstract Machine (TOAM) architecture which differs from the Warren Abstract Machine (WAM) mainly in that (1) arguments are passed old fashionedly through the stack, (2) only one frame is used for each predicate call, and (3) instructions are provided for encoding matching trees. The most recent architecture, called TOAM Jr., departs further from the WAM in that it employs no registers for arguments or temporary variables, and provides variable-size instructions for encoding predicate calls. This paper gives an overview of the language features and a detailed description of the TOAM Jr. architecture, including architectural support for action rules and tabling.