Even Numbers - Datalog Typing CST Test
Loading…
Even Numbers — Datalog Code
Generates even numbers up to 10.
number(0).
number(N) :- number(M), N is M + 1, N =< 10.
even(N) :- number(N), N mod 2 = 0.
? even(N).Datalog Language Guide
Datalog is a declarative logic programming language based on first-order logic and Horn clauses. It is widely used for querying relational data, building rule-based systems, static analysis, and reasoning engines due to its logical purity, strong mathematical foundations, and deterministic evaluation model.
Primary Use Cases
- ▸Database querying and rule-based inference
- ▸Static program analysis (Soufflé, Doop)
- ▸Authorization and access control systems (e.g., Google Zanzibar variants)
- ▸Knowledge graph reasoning
- ▸Graph algorithms (reachability, dependency tracking)
Notable Features
- ▸Declarative logic-based syntax
- ▸Guaranteed termination via stratification
- ▸Efficient evaluation via bottom-up execution
- ▸Recursion support for graph queries
- ▸Deterministic semantics
Origin & Creator
Developed in the late 1970s-1980s by the logic programming and database research community, notably at IBM and various academic institutions.
Industrial Note
Datalog is highly influential in static analysis engines, database optimization systems, enterprise rule engines, authorization systems, and graph analytics frameworks such as LogicBlox, Soufflé, and Flix.