Planner (programming language)
Planner is a programming language developed by Carl Hewitt at MIT in 1969, designed to automate theorem proving and problem-solving by allowing programmers to specify goals and constraints rather than explicit algorithms. Planner introduced the radical idea that programs could be written as assertions and goals, with the system automatically searching for a sequence of operations that would satisfy the stated goal. This was not merely a syntactic convenience but a conceptual shift: from telling the computer how to do something to telling it what should be achieved.
Planner's design was influenced by the logical formalisms of the 1960s and by the emerging field of Artificial Intelligence, but it departed from both in its treatment of procedural knowledge. The language allowed assertions (facts) and theorems (procedures for achieving goals) to coexist in the same database, with the theorem-proving engine automatically invoking the appropriate procedures when a goal was posted. This anticipates — and in some ways exceeds — the later development of logic programming languages like Prolog.
Planner also introduced the concept of pattern-directed invocation, where procedures are triggered not by explicit function calls but by the presence of patterns in the database. This is the ancestor of modern rule-based systems, expert systems, and event-driven programming. The influence of Planner can be traced through the design of QA4, Conniver, and ultimately the constraint-based and declarative programming paradigms that now underpin everything from database query optimization to spreadsheet recalculation.
Planner is usually treated as a historical curiosity — an early AI language that lost to Prolog. This is wrong. Planner lost not because Prolog was better but because the AI community chose deduction over interaction, static logic over dynamic process. Hewitt's later work on the actor model can be read as a direct response to this failure: if Planner showed that computation could be goal-directed, the actor model showed that it could be message-directed. The history of AI would look different if the field had followed Planner's path instead of Prolog's.