Planner (programming language)

related topics
{math, number, function}
{theory, work, human}
{system, computer, user}
{work, book, publish}
{son, year, death}
{ship, engine, design}
{law, state, case}

Planner (often seen in publications as "PLANNER" although it is not an acronym) is a programming language designed by Carl Hewitt at MIT, and first published in 1969. First, subsets such as Micro-Planner and Pico-Planner were implemented, and then essentially the whole language was implemented in Popler.[1] Derivations such as QA4, Conniver, QLISP and Ether (see Scientific Community Metaphor) were important tools in Artificial Intelligence research in the 1970s, which influenced commercial developments such as KEE and ART.

Contents

Procedural Approach versus Logical Approach

The two major paradigms for constructing semantic software systems were procedural and logical. The procedural paradigm was epitomized by Lisp [McCarthy et al. 1962] which featured recursive procedures that operated on list structures.

The logical paradigm was epitomized by uniform proof procedure resolution theorem provers [Robinson 1965]. According to the logical paradigm it was “cheating” to incorporate procedural knowledge [Green 1969].

Procedural Embedding of Knowledge

Planner was invented for the purposes of the procedural embedding of knowledge [Hewitt 1971] and was a rejection of the resolution uniform proof procedure paradigm [Robinson 1965], which

Planner was a kind of hybrid between the procedural and logical paradigms because it combined programmability with logical reasoning. Planner featured a procedural interpretation of logical sentences where an implication of the form (P implies Q) can be procedurally interpreted in the following ways using pattern-directed invocation:

  • If assert P, assert Q
    If assert not Q, assert not P
  • If goal Q, goal P
    If goal not P, goal not Q

In this respect, the development of Planner was influenced by natural deductive logical systems (especially the one by Frederic Fitch [1952]).

Micro-planner implementation

Full article ▸

related documents
Optimality theory
Hilbert's second problem
Reinforcement learning
De Morgan's laws
Prototype-based programming
Bresenham's line algorithm
NaN
Discriminant
Isomorphism theorem
Monotonic function
Generalized Riemann hypothesis
Conjunctive normal form
Diophantine set
Laurent series
Automata theory
Kolmogorov space
Golden ratio base
Graftal
Generating trigonometric tables
Special linear group
Goodstein's theorem
Controllability
Infinite loop
Column space
Monotone convergence theorem
Local ring
Mersenne twister
Euler's totient function
Kruskal's algorithm
Cox's theorem