AUTO und CDR

Auto und cdr (oder) ist primitive Operationen darauf lernt Zellen (oder "NichtatomS-Ausdrücke") eingeführt auf der Lispeln-Programmiersprache. Lernt Zelle wird aus zwei Zeigestöcken zusammengesetzt; die Autooperation zieht den ersten Zeigestock heraus, und die cdr Operation zieht das zweite heraus.

So bewertet der Ausdruck dazu, und bewertet dazu.

Wenn Zellen lernt, werden verwendet, um einzeln verbundene Listen durchzuführen (aber nicht Bäume und andere mehr komplizierte Strukturen), die Autooperation gibt das erste Element der Liste zurück, während cdr den Rest der Liste zurückgibt. Deshalb wird den Operationen manchmal die Namen zuerst und der Rest oder der Kopf und der Schwanz gegeben.

Etymologie

Lispeln wurde auf dem Computer von IBM 704 gegen Ende der 1950er Jahre ursprünglich durchgeführt. Die 704 Hardware hatte spezielle Unterstützung, für ein 36-Bit-Maschinenwort in vier Teile, ein "Adressteil" und "Verminderungsteil" von 15 Bit jeder und ein "Präfix-Teil" und "Anhängsel-Teil" von drei Bit jeder zu spalten.

Vorgänger zum Lispeln haben Funktionen eingeschlossen:

  • Auto (kurz für den "Inhalt des Adressteils der Register-Zahl"),
  • cdr ("Inhalt des Verminderungsteils der Register-Zahl"),
  • cpr ("Inhalt des Präfix-Teils der Register-Zahl"), und
  • ctr ("Inhalt des Anhängsel-Teils der Register-Zahl"),

von denen jeder eine Maschinenadresse als ein Argument genommen hat, hat das entsprechende Wort auswendig geladen, und hat die passenden Bit herausgezogen.

Der 704 Monteur, der dafür Makro-ist, war

LXD JLOC, 4

CLA 0,4

PDX 0,4

PXD 0,4

Ein Maschinenwort konnte dadurch wieder versammelt werden lernt, der vier Argumente (a, d, p, t) genommen hat.

Das Präfix und die Anhängsel-Teile waren in den frühen Stufen des Designs des Lispelns fallen gelassen, AUTO, CDR verlassend, und ein zwei-Argumente-LERNT.

Fortlaufende Annahme

Die abwechselnden Namen und, die mindestens bis 1959 zurückgehen, werden manchmal bevorzugt und. Jedoch, und haben Sie den Vorteil, dass kurze Zusammensetzungen der Funktionen kurze und mehr oder weniger aussprechbare Namen derselben Form gegeben werden können. Im Lispeln, ist die Entsprechung davon; sein Wert ist (der erste Artikel des Rests). Ähnlich ist dasselbe als; sein Wert ist. Die meisten Lispeln legt eine Grenze zwischen der Zahl von gelassenen Formen fest, die sie unterstützen; allgemeines Lispeln und Schema sowohl stellen Formen mit bis zu vier Wiederholungen des a als auch d zur Verfügung.

Andere Computersprachen

Viele Sprachen (besonders funktionelle Sprachen und Sprachen unter Einfluss des funktionellen Paradigmas) verwenden eine einzeln verbundene Liste als eine grundlegende Datenstruktur, und stellen Primitive oder Funktionen zur Verfügung, die ähnlich sind und. Diese werden verschiedenartig und, und usw. im Lispeln jedoch genannt, lernt Zelle wird nur nicht verwendet, um verbundene Listen zu bauen sondern auch Paar zu bauen, und hat Paar-Strukturen verschachtelt, d. h. lernt Zelle braucht keine Liste zu sein. In diesem Fall stellen die meisten anderen Sprachen verschiedene Primitive zur Verfügung, weil sie normalerweise Paar-Strukturen von Listenstrukturen entweder typefully oder semantisch unterscheiden. Besonders auf getippten Sprachen werden Listen, Paare und Bäume alle verschiedene Zugriffsberechtigter-Funktionen mit verschiedenen Typ-Unterschriften haben: In Haskell, zum Beispiel, und werden und wenn, sich mit einem Paar-Typ befassend. Genaue Analoga dessen und sind so auf anderen Sprachen selten.

Referenzen
  • Russel, S. (undatiert, c. gegen Ende der 1950er Jahre) das Schreiben und Beseitigen bei Programmen. MIT Labormerkzettel 6 der Künstlichen Intelligenz.

Eric Dorman-Smith / Schallabenteuer
Impressum & Datenschutz