THE 1950S

IPL

Computers, machines initially created to solve mathematical equations, would soon tackle a different domain: that of symbolic processing and complex problem solving. It was in this ferment that Information Processing Language emerged, a family of languages that blazed a trail in the history of artificial intelligence.

The IPL adventure began with the bold dream of building a program capable of proving logical theorems. IPL-I, sketched out in the early 1950s, never existed anywhere but on paper. This draft nevertheless constituted a first attempt to formalize the symbolic manipulation mechanisms essential to automated theorem proving.

IPL-II and IPL-III were subsequently developed at the RAND Corporation, deployed on the JOHNNIAC computer. These versions brought to life the Logic Theorist program, a pioneering work in the field of artificial intelligence. This program demonstrated theorems using heuristic methods modeled on human thought, breaking away from the purely computational approach of computers.

The migration of IPL to the IBM 650 by a team from the Carnegie Institute of Technology gave birth to IPL-V, the accomplished and influential version of this lineage. Meanwhile, IPL-IV ran on the JOHNNIAC for innovative applications: a chess program and a system for balancing industrial production lines.

IPL-V marked a breakthrough in the design of computer languages. It introduced concepts such as list manipulation and dynamic data structures. The language made it possible to create and dynamically modify data during program execution, a rare characteristic at a time when memory generally remained fixed.

IPL’s great strength lay in its ability to model tasks that humans accomplish without being able to describe the process. Playing chess, making business decisions, or proving mathematical theorems are all activities where human expertise relies on intuition rather than defined algorithms. IPL provided a framework for transcribing these adaptive behaviors typical of natural intelligence.

IPL’s architecture was built around a few fundamental principles. The system employed cells to store IPL words, formed by two prefixes (P and Q) and two symbols (SYMB and LINK). The symbols, regional or local, offered flexible data representation. The language popularized the concept of the “list”, a fundamental structure for organizing information hierarchically.

A remarkable creation of IPL was its “description list” system. This mechanism associated descriptive information with a list, information that could be modified during execution. This approach foreshadowed the current concepts of metadata and object attributes found in modern 21st century programming.

IPL also integrated advanced memory management functionalities, notably with its “available space list” which automated the allocation and release of resources. This method freed developers from manual management constraints, leaving them more energy for algorithmic logic.

The language offered approximately 150 fundamental processes covering a broad spectrum of operations: list manipulation, arithmetic calculations, input-output management, and processing of complex structures. An elaborate system of “generators” made it possible to execute repetitive operations with elegance.

IPL served as a foundation for various applications in the nascent field of artificial intelligence. Programs for discrimination learning, binary choices, and theorem proving emerged thanks to this language. These creations proved IPL’s ability to support sophisticated symbolic processing applications.

IPL-VI, the final version of this family with an ambitious vision, proposed a hardware architecture designed specifically to directly execute this language, without going through a software interpretation layer. This approach aimed to overcome the performance limitations inherent in the interpreted nature of earlier versions on conventional machines.

IPL inspired the creation of other systems such as LISP, list processing in FORTRAN, or COMIT. These languages extended the exploration of the paths opened by IPL in the field of symbolic processing and artificial intelligence. Despite its weaknesses in terms of speed, particularly for traditional numerical computations, it demonstrated that the benefits of a high-level system far outweighed its resource costs, especially for complex applications requiring fine-grained management of data and processes.