Content deleted Content added
More information about IPL-VC |
m Removing Category:Management cybernetics per Wikipedia:Categories for discussion/Log/2025 July 10#Category:Management cybernetics |
||
(14 intermediate revisions by 11 users not shown) | |||
Line 1:
{{Short description|Early programming language for lists}}
{{More citations needed|date=January 2022}}
{{Infobox programming language
Line 21 ⟶ 22:
'''Information Processing Language''' ('''IPL''') is a [[programming language]] created by [[Allen Newell]], [[Cliff Shaw]], and [[Herbert A. Simon]] at [[RAND Corporation]] and the [[Carnegie Institute of Technology]] about 1956. Newell had the job of language specifier-application programmer, Shaw was the system programmer, and Simon had the job of application programmer-user.
==Basics of IPL==
An IPL computer has:
# A set of ''symbols''. All symbols are addresses, and name cells. Unlike symbols in later languages, symbols consist of a character followed by a number, and are written H1, A29,
## Cell names beginning with a letter are ''regional'', and are absolute addresses.
## Cell names beginning with "9-" are ''local'', and are meaningful within the context of a single list. One list's 9-1 is independent of another list's
## Other symbols (e.g., pure numbers) are ''internal''.
# A set of ''cells''. Lists are made from several cells including mutual references. Cells have several fields:
Line 36 ⟶ 37:
# A set of ''primitive processes'', which would be termed ''primitive functions'' in modern languages.
The data structure of IPL is the list, but lists are more intricate structures than in many languages. A list consists of a singly linked sequence of symbols, as might be expected—plus some ''description lists'', which are subsidiary singly linked lists interpreted as alternating attribute names and values. IPL provides primitives to access and mutate attribute value by name. The description lists are given local names (of the form
{|style="font-family:monospace; margin: 1em auto" class="wikitable"
|+
|-
!Name !! SYMB !! LINK
Line 81 ⟶ 82:
IPL was used to implement several early [[artificial intelligence]] programs, also by the same authors: the [[Logic Theorist]] (1956), the [[General Problem Solver]] (1957), and their [[computer chess]] program [[NSS (chess program)|NSS]] (1958).
Several versions of IPL were created: IPL-I (never implemented), IPL-II (1957 for [[JOHNNIAC]]), IPL-III (existed briefly), IPL-IV, IPL-V (1958, for [[IBM 650]], [[IBM 704]], [[IBM 7090]], [[Philco model 212]], many others. Widely used). IPL-VI was a proposal for
A co-processor “IPL-VC” for the CDC 3600 at Argonne National Libraries was developed which could run IPL-V commands.{{sfn|Hodges|1964}}{{sfn|Sammet|1969|p=393–394}} It was used to implement another checker-playing program.{{sfn|Cowell|Reed|1965}}
IPL was soon displaced by [[Lisp (programming language)|Lisp]], which had much more powerful features, a simpler syntax, and the benefit of automatic [[garbage collection (computer science)|garbage collection]].
Line 100 ⟶ 101:
{{Reflist}}
==
* {{cite report
|author1-first=Daniel F.
Line 129 ⟶ 130:
|id=ANL-6888
|publisher=Applied Mathematics Division, Argonne National Laboratories}}
* {{cite book▼
|author-last=Sammet▼
|author-first=Jean E.▼
|title=Programming languages: history and fundamentals▼
|publisher=Prentice Hall▼
|___location=Englewood Cliffs, N.J.▼
|year=1969▼
|pages=388{{en dash}}400}}▼
* {{cite conference▼
|author1-last=Shaw▼
|author1-first=J. C.▼
|author2-last=Newell▼
|author2-first=A.▼
|author3-last=Simon▼
|author3-first=H. A.▼
|author4-last=Ellis▼
|author4-first=T. O.▼
|title=A Command Structure for Complex Information Processing▼
|date=1958▼
|isbn=9781450378642▼
|doi=10.1145/1457769.1457803▼
|book-title=Proceedings of the May
|series=IRE-ACM-AIEE '58 (Western)▼
|pages=119{{endash}}128}}▼
==Further reading==
* {{cite conference
Line 139 ⟶ 169:
|publisher=Association for Computing Machinery
|isbn=9781450378611
|book-title=Papers Presented at the February
|pages=230–240
|conference=IRE-AIEE-ACM '57 (Western)
|doi=10.1145/1455567.1455606|doi-access=free
}} * {{cite journal
Line 158 ⟶ 189:
|doi=10.1145/367177.367205
|journal=Communications of the ACM
|pages=205–211
|doi-access=free
}}
* {{cite book
Line 176 ⟶ 209:
|___location=Englewood Cliffs, N.J.
|year=1964}}
▲* {{cite book
▲|author-last=Sammet
▲|author-first=Jean E.
▲|title=Programming languages: history and fundamentals
▲|publisher=Prentice Hall
▲|___location=Englewood Cliffs, N.J.
▲|year=1969
▲|pages=388{{en dash}}400}}
* {{cite book
|author-last=Samuel
|author-first=Arthur L.
|title=
|
|volume=1
|editor-last=Alt
Line 198 ⟶ 222:
|year=1960
|issn=0065-2458
|doi=10.1016/S0065-2458(08)60608-7|isbn=9780120121014
}} ▲* {{cite conference
▲|author1-last=Shaw
▲|author1-first=J. C.
▲|author2-last=Newell
▲|author2-first=A.
▲|author3-last=Simon
▲|author3-first=H. A.
▲|author4-last=Ellis
▲|author4-first=T. O.
▲|title=A Command Structure for Complex Information Processing
▲|date=1958
▲|publisher=Association of Computing Machinery
▲|isbn=9781450378642
▲|doi=10.1145/1457769.1457803
▲|book-title=Proceedings of the May 6-8, 1958, Western Joint Computer Conference: Contrasts in Computers
▲|series=IRE-ACM-AIEE '58 (Western)
▲|pages=119{{endash}}128}}
==External links==
Line 224 ⟶ 229:
* [http://bitsavers.org/pdf/rand/ipl/ IPL documents from BitSavers]
* [http://www-formal.stanford.edu/jmc/history/lisp/node2.html Influence of IPL on LISP]
* [https://github.com/jeffshrager/IPL-V A Common LISP interpreter for IPL-V, including a working transcription of the Logic Theory Machine (actively under development in 2025)]
{{Authority control}}
|