SECD-Maschine

Die SECD-Maschine ist eine virtuelle Maschine, die als Zielarchitektur für Compiler funktionaler Programmiersprachen gedacht ist. Die Buchstaben stehen für Stack, Environment, Control, Dump, welches die internen Register der Maschine sind. Diese Register enthalten Zeiger auf Listen im Speicher.

Die SECD-Maschine war die erste virtuelle Maschine, die ausdrücklich dazu entworfen wurde, Ausdrücke des Lambda-Kalküls auszuwerten. Sie wurde ursprünglich im Jahr 1963 von Peter J. Landin als Teil der Definition seiner Programmiersprache ISWIM beschrieben. Die von Landin publizierte Beschreibung war ziemlich abstrakt und ließ viele Implementierungsentscheidungen offen, wie zum Beispiel die Frage einer operationalen Semantik. Deshalb wird die SECD-Maschine oft auch in detaillierterer Form vorgestellt, wie zum Beispiel in Peter Hendersons Lispkit-LISP-Compiler, der seit 1980 verteilt wird. Sie wird auch als Zielarchitektur für verschiedene andere experimentelle Compiler verwendet.

Im Jahr 1989 arbeiteten Forscher an der University of Calgary an einer Hardware-Implementierung der Maschine.[1]

  1. Ein Bericht über den Entwurf ist verfügbar unter SECD: DESIGN ISSUES.

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy