2011
DOI: 10.1017/s1471068411000445
|View full text |Cite
|
Sign up to set email alerts
|

The language features and architecture of B-Prolog

Abstract: 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 TOAM architecture which differs from the 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 encodi… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
33
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
4
3
3

Relationship

1
9

Authors

Journals

citations
Cited by 47 publications
(33 citation statements)
references
References 34 publications
(67 reference statements)
0
33
0
Order By: Relevance
“…The constraint logic programming libraries of many Prolog systems [5,8,13,42] provide search heuristics that offer limited reusability: they are hardwired in a generic labelling predicate that can be used to solve particular classes of problems. The one exception is the branch-and-bound heuristic of ECLiPSe [29], which is not tied to a labelling predicate.…”
Section: Constraint Programmingmentioning
confidence: 99%
“…The constraint logic programming libraries of many Prolog systems [5,8,13,42] provide search heuristics that offer limited reusability: they are hardwired in a generic labelling predicate that can be used to solve particular classes of problems. The one exception is the branch-and-bound heuristic of ECLiPSe [29], which is not tied to a labelling predicate.…”
Section: Constraint Programmingmentioning
confidence: 99%
“…Systems implement either top-down evaluation, e.g., XSB (by default) (Swift and Warren 2012) and other Prolog systems that include tabling, such as YAP (Santos Costa et al 2012), Ciao Prolog (Hermenegildo et al 2012), BProlog (Zhou 2012) and as a library in SWI Prolog (Weilemaker et al 2017), or bottom-up evaluation, e.g., LDL++ (Arni et al 2003), Coral (Ramakrishnan et al 1994) and LogicBlox (Aref et al 2015), among many others. In this paper we consider the properties and advantages of each strategy and propose that they be integrated in a single system, with each having a distinct procedural interpretation.…”
Section: Introductionmentioning
confidence: 99%
“…As an added bonus, the memoisation of the tabling mechanism may significantly improve run time performance in exchange for increased memory usage. Tabling has been implemented in a few well-known Prolog systems, such as XSB (Swift and Warren 2010;Swift and Warren 2012),Yap (Santos Costa et al 2012), Ciao (Chico de Guzmán et al 2008) and B-Prolog (Zhou 2012), and has been successfully applied in various domains.…”
Section: Introductionmentioning
confidence: 99%