Abstract
AbstractB-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.
Publisher
Cambridge University Press (CUP)
Subject
Artificial Intelligence,Computational Theory and Mathematics,Hardware and Architecture,Theoretical Computer Science,Software
Reference50 articles.
1. Zhou N.-F. 1998. A high-level intermediate language and the algorithms for compiling finite-domain constraints. In Proceedings of the Joint International Conference and Symposium on Logic Programming (JICSLP). 70–84.
2. Schrijvers T. , Zhou N.-F. and Demoen B. 2006. Translating constraint handling rules into action rules. In Proceedings of the Third Workshop on Constraint Handling Rules. 141–155.
3. Parameter passing and control stack management in Prolog implementation revisited
4. Simplifying dynamic programming via mode-directed tabling
5. Zhou N.-F. , Takagi T. and Ushijima K. 1990. A matching tree oriented abstract machine for Prolog. In Proceedings of the International Conference on Logic Programming (ICLP). 159–173.
Cited by
39 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. The Janus System: Multi-paradigm Programming in Prolog and Python;Electronic Proceedings in Theoretical Computer Science;2023-09-12
2. The Janus System: A Bridge to New Prolog Applications;Prolog: The Next 50 Years;2023
3. Dynamic Logic Programming;Prolog: The Next 50 Years;2023
4. Fifty Years of Prolog and Beyond;Theory and Practice of Logic Programming;2022-05-17
5. Parallel Logic Programming: A Sequel;Theory and Practice of Logic Programming;2022-03-28