TY - GEN
T1 - Design patterns for tabled logic programming
AU - Swift, Terrance
PY - 2011
Y1 - 2011
N2 - The use of design patterns is common in many areas of software engineering and programming. While they are informal, patterns provide a repository of solutions to common problems, as well as a survey of the features of a given language or software system. This paper uses design patterns to survey features and applications of Tabled Logic Programming (TLP). Patterns for commonly available features are presented, such as those of various recursion types that arise when tabling is used with definite programs, of automatic tabling and of tabling with DCGs. In addition, various patterns capture well-developed uses of tabled negation for non-monotonic reasoning. A final set of patterns describes the approaches of answer subsumption and tabled constraints, features that have fewer applications to date due to the fact that robust implementations of them have only recently become available.
AB - The use of design patterns is common in many areas of software engineering and programming. While they are informal, patterns provide a repository of solutions to common problems, as well as a survey of the features of a given language or software system. This paper uses design patterns to survey features and applications of Tabled Logic Programming (TLP). Patterns for commonly available features are presented, such as those of various recursion types that arise when tabling is used with definite programs, of automatic tabling and of tabling with DCGs. In addition, various patterns capture well-developed uses of tabled negation for non-monotonic reasoning. A final set of patterns describes the approaches of answer subsumption and tabled constraints, features that have fewer applications to date due to the fact that robust implementations of them have only recently become available.
UR - http://www.scopus.com/inward/record.url?scp=79955517229&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79955517229&partnerID=8YFLogxK
U2 - 10.1007/978-3-642-20589-7_1
DO - 10.1007/978-3-642-20589-7_1
M3 - Conference contribution
AN - SCOPUS:79955517229
SN - 9783642205880
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 1
EP - 19
BT - Applications of Declarative Programming and Knowledge Management - 18th International Conference, INAP 2009, Revised Selected Papers
T2 - 18th International Conference on Applications of Declarative Programming and Knowledge Management, INAP 2009
Y2 - 3 November 2009 through 5 November 2009
ER -