The Information Processing Language (IPL) family, designed by Cliff Shaw, Allen Newell and Herbert Simon at the RAND Corporation in Santa Monica from 1955 onwards, was the first list-processing programming language and arguably the first language designed specifically for artificial intelligence research. The successive dialects IPL-I, II, III, IV and finally IPL-V (1961) were used to implement the Logic Theorist (1956), the General Problem Solver (1957), the NSS chess program, the EPAM model of human verbal learning, and a constellation of other early AI and cognitive-simulation systems at RAND and Carnegie Tech (now Carnegie Mellon University).
IPL was conceived as an assembly-level language for an idealised symbol-processing machine. Where contemporary languages such as FORTRAN (1957) targeted numerical computation on fixed-size arrays of floating-point numbers, IPL targeted a fundamentally different kind of computation: the manipulation of dynamically structured symbolic expressions whose size and shape were not known until runtime. To this end IPL introduced the linked list as a primary data structure, with each cell containing a symbol and a pointer to the next cell; a memory model with explicit allocation and deallocation through a free-list; recursive procedure invocation managed by an explicit pushdown stack; and what would now be called dynamic dispatch via generators that produced successive elements on demand. The language was Turing-complete but spartan, programmers worked at a low level of abstraction, manually pushing and popping arguments, with no type system and no high-level control flow.
Despite (or because of) this minimalism IPL was deeply influential. The list-processing paradigm it pioneered, building arbitrarily complex symbolic structures out of small uniform cells, traversing them recursively, and treating programs and data on equal footing, became the dominant approach to symbolic AI for the next three decades. Newell and Simon's IPL-V manual (1961) reads in retrospect like a catalogue of techniques later rediscovered and renamed across computer science.
IPL was directly displaced by John McCarthy's LISP (1958), which provided the same symbolic-computation primitives at a much higher level of abstraction with garbage collection, recursion as a built-in language feature, conditional expressions, and a self-applicable evaluator written in the language itself. By the mid-1960s LISP had entirely supplanted IPL in AI research, but the techniques pioneered in IPL, most importantly the linked list, became universal foundations of computer science, embedded in nearly every general-purpose programming language and in the hardware of modern garbage-collected runtimes. Newell and Simon were jointly awarded the 1975 Turing Award in part for this work, the citation noting their basic contributions to artificial intelligence, the psychology of human cognition, and list processing.
Related terms: LISP, Logic Theorist, General Problem Solver, allen-newell, herbert-simon, Symbolic AI
Discussed in:
- Chapter 2: Linear Algebra, The Birth of AI