From Rosetta Code
This programming language may be used to instruct a computer to perform a task.
See Also:

Listed below are all of the tasks on Rosetta Code which have been solved using Datalog.
Your Help Needed
If you know Datalog, please write code for some of the tasks not implemented in Datalog.

Datalog is a query and rule language for deductive databases that syntactically is a subset of Prolog.

In contrast to Prolog:

  • it disallows complex terms as arguments of predicates, e.g. p(1, 2) is admissible but not p(f1(1), 2),
  • imposes certain stratification restrictions on the use of negation and recursion, and
  • only allows range-restricted variables, i.e. each variable in the conclusion of a rule must also appear in a not negated clause in the premise of this rule.

These rules make the set of all possible proofs finite, with the consequence that all datalog programs terminate (unlike Prolog programs). As a consequence, statements and predicates of a program can be stated in any order (unlike Prolog).

See Also[edit]


This category has the following 3 subcategories, out of 3 total.