Prolog
Logic programming language — programs are expressed as facts and rules, and execution is driven by backtracking search.
dynamic
interpreted
since 1972
logicdeclarative
Prolog executes by unifying terms and performing depth-first search with backtracking — the runtime figures out how to satisfy a query from a set of declared facts and rules. It was central to the Japanese Fifth Generation Computer project and is still used in natural language processing, theorem proving, and expert systems.