Homoikonisch

Homoikonisch

Homoikonizität (Selbst-Abbildbarkeit, oder Selbst-Repräsentierbarkeit) ist die Eigenschaft von Programmiersprachen, dass Programme gleichzeitig Datenstrukturen derselben Sprache sind. In solchen Sprachen ist es einfach, Programme zu schreiben, die Programme schreiben.

Ein Beispiel einer homoikonischen Programmiersprache ist LISP: Die grundlegende Datenstruktur ist die Liste. LISP-Programme werden ebenfalls als Listen dargestellt. Es ergibt sich somit in LISP auf natürliche Weise die Möglichkeit, Programmcode zu manipulieren.

Als homoikonisch kann man die meisten Sprachen der LISP-Familie betrachten, sodann Prolog, Smalltalk, REBOL, SNOBOL, XSLT, TRAC, Tcl, Io, Joy, PostScript and V.

In Systemen mit Von-Neumann-Architektur, zu denen heute die weit überwiegende Mehrzahl gehört, ist der Maschinencode ebenfalls homoikonisch, wobei Sprache und Datentyp Bytes sind.

Eingeführt wurde der Begriff von Douglas McIlroy 1960 in dem Dokument Macro Instruction Extensions of Compiler Languages.[1] 1965 verwendet ihn ein Dokument über die Textverarbeitungssprache TRAC. [2] Alan Kay benutzte den Begriff 1969 in seiner Dissertationsschrift.[3]

Weblinks

Quellen

  1. Douglas McIlroy (1960) Macro Instruction Extensions of Compiler Languages
  2. Calvin Mooers and L. Peter Deutsch (1965) TRAC, A Text-Handling Language
  3. Alan Kay (1969) The Reactive Engine, PhD thesis (Accessed 20061229)

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Homoikonizität — (Selbst Abbildbarkeit, oder Selbst Repräsentierbarkeit) ist die Eigenschaft von Programmiersprachen, dass Programme gleichzeitig Datenstrukturen derselben Sprache sind. In solchen Sprachen ist es einfach, Programme zu schreiben, die Programme… …   Deutsch Wikipedia

Share the article and excerpts

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