Hubbry Logo
search button
Sign in
SLIP (programming language)
SLIP (programming language)
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
SLIP (programming language)
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the SLIP (programming language) Wikipedia article. Here, you can discuss, collect, and organize anything related to SLIP (programming language). The purpose of...
Add your contribution
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.[1] The best known program written in the language is ELIZA, an early natural language processing computer program created by Weizenbaum[2] at the MIT Artificial Intelligence Laboratory.[3]

General overview

[edit]

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

[edit]

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

[edit]
  1. ^ "Computer Programming Languages – S". Archived from the original on 2022-01-17. Retrieved 2006-03-20.
  2. ^ "Alan Turing at 100". Harvard Gazette. 13 September 2012. Retrieved 2016-02-22.
  3. ^ Weizenbaum, Joseph (1976). Computer Power and Human Reason: From Judgment to Calculation. New York: W.H. Freeman and Company. pp. 2, 3, 6, 182, 189. ISBN 0-7167-0464-1.