SLIP is a list processing
computer programming language, invented by
Joseph Weizenbaum in the 1960s. The name ''SLIP'' stands for Symmetric LIst Processor. It was first implemented as an extension to the
Fortran programming language, and later embedded into
MAD and
ALGOL.
Computer Programming Languages – S
/ref> The best known program written in the language is ELIZA, an early natural language processing computer program
A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. It is one component of software, which also includes software documentation, documentation and other intangibl ...
created by Weizenbaum at the MIT Artificial Intelligence Laboratory.
General overview
In a nutshell, SLIP consisted of a set of FORTRAN "accessor" functions which operated on circular doubly linked lists with fixed-size data fields. The "accessor" functions had direct and indirect addressing variants.
List representation
The list representation had four types of cell: a ''reader'', a ''header'', a ''sublist indicator'', and a ''payload'' cell. The header included a reference count field for garbage collection purposes. The sublist indicator allowed it to be able to represent nested lists, such as (A, B, C, (1, 2, 3), D, E, F) where (1, 2, 3) is a sublist indicated by a cell in the '*' position in the list (A, B, C, *, D, E, F). The reader was essentially a state history stack—a good example of a memento pattern—where each cell pointed to the header of the list being read, the current position within the list being read, and the level or depth of the history stack.
References
*
Symmetric List Processor
', Joseph Weizenbaum, CACM 6:524-544(1963). Sammet 1969, p. 387.
* '' Computer Power and Human Reason: From Judgment To Calculation'', Joseph Weizenbaum, San Francisco: W. H. Freeman, 1976
Fortran libraries
Programming languages
{{compu-lang-stub