SLIP (programming language)

SLIP (programming language)

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. [ [http://www.heuse.com/s.htm Computer Programming Languages - S ] ]

General Overview

In a nutshell, SLIP consisted of a set of FORTRAN "accessor" functions which operated on doubly-linked circular lists with a fixed payload size. 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


* "Symmetric List Processor", Joseph Weizenbaum, CACM 6:524-544(1963). Sammet 1969, p.387.
* "", Joeseph Weizenbaum, San Francisco: W. H. Freeman, 1976 ISBN 0-7167-0463-3


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Slip — may refer to:* Packing slip, a shipping document that accompanies delivery packages * Slipway, a ramp on the shore by which ships or boats can be moved to and from the water * Ferry slip, a specialized docking facility that receives a ferryboat * …   Wikipedia

  • List of programming languages — Programming language lists Alphabetical Categorical Chronological Generational The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in… …   Wikipedia

  • Serial Line Internet Protocol — SLIP redirects here. For the list processing language, see SLIP (programming language). Internet protocol suite Application layer BGP …   Wikipedia

  • Joseph Weizenbaum — (Berlin, January 8, 1923 – March 5, 2008) was a German American author and professor emeritus of computer science at MIT.Born in Berlin, Germany to Jewish parents, he escaped Nazi Germany in 1935, emigrating with his family to the United States.… …   Wikipedia

  • Doubly linked list — In computer science, a doubly linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains two fields, called links, that are references to the previous and to the next node in the… …   Wikipedia

  • Michigan Terminal System — (MTS) The MTS welcome screen as seen through a 3270 terminal emulator. Company / developer University of Michigan and 7 other universities in the US, Canada, and the UK …   Wikipedia

  • Numerical control — CNC redirects here. For other uses, see CNC (disambiguation). A CNC Turning Center …   Wikipedia

  • List of computing topics — Originally, the word computing was synonymous with counting and calculating, and the science and technology of mathematical calculations. Today, computing means using computers and other computing machines. It includes their operation and usage,… …   Wikipedia

  • Abkürzungen/Computer — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

  • Liste der Abkürzungen (Computer) — Dies ist eine Liste technischer Abkürzungen, die im IT Bereich verwendet werden. A [nach oben] AA Antialiasing AAA authentication, authorization and accounting, siehe Triple A System AAC Advanced Audio Coding AACS …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”