Prolog

/PROH-log/ · noun · Development · Origin: 1972

Definitions

  1. A logic programming language where programs are expressed as relations and rules rather than step-by-step instructions. Prolog's built-in backtracking search engine makes it natural for AI applications, expert systems, natural language processing, and constraint satisfaction problems.

    In plain English: A programming language where you describe rules and relationships, and the computer figures out the answers on its own, like a logic puzzle solver.

    Example: I wrote a Sudoku solver in Prolog — it's literally just the rules of Sudoku, and Prolog figures out the rest.

Origin Story

PROgramming in LOGic: the language that reasons backward

Alain Colmerauer and Philippe Roussel created Prolog at the University of Aix-Marseille in 1972. They were working on natural language processing and needed a way to express logical relationships that a computer could reason about.

The name **Prolog** is short for **"PROgrammation en LOGique"** (Programming in Logic) in French. Unlike conventional languages where you tell the computer *how* to solve a problem, in Prolog you declare *what* the problem is, and the runtime figures out the solution.

Japan's ambitious Fifth Generation Computer Systems project (1982-1992) chose Prolog as its core language, aiming to build AI-capable computers. The project ultimately fell short of its goals, but Prolog remains the go-to language for rule-based AI, expert systems, and computational linguistics.

Coined by: Alain Colmerauer, Philippe Roussel

Context: University of Aix-Marseille, France, 1972

Fun fact: Prolog uses 'backward chaining' -- it starts with the goal and works backward to find facts that support it, much like a detective solving a case. Erlang was originally implemented in Prolog, which influenced Erlang's pattern-matching syntax.

Related Terms