Design patterns for tabled logic programming

  • Authors:
  • Terrance Swift

  • Affiliations:
  • Centro de Inteligência Artificial, Universidade Nova de Lisboa

  • Venue:
  • INAP'09 Proceedings of the 18th international conference on Applications of declarative programming and knowledge management
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.