Jump to content

SLIP (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Centrx (talk | contribs) at 05:49, 18 August 2009 (Reverted edits by PigFlu Oink (talk) to last version by Jorge Stolfi). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.[1]

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 history list or ordered collection of mementos, 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