The Landscape of Logic Programming
- Pure Datalog = first-order logic + recursive predicates + aggregates (max, min, sum, …)
- function symbols No arrays/lists/objects/…, no string operations/arithmetic, only atomic values - Not Turing complete: all programs terminate
SQL
Pure Datalog
Prolog
Practical Datalog
λProlog
less expressive,
runs efficiently more expressive,
difficult to implement efficiently
runs efficiently more expressive,
difficult to implement efficiently