Scheme | |
---|---|
Basisdaten | |
Paradigmen: | Multi-Paradigma: funktional, prozedural, meta |
Erscheinungsjahr: | 1975 |
Designer: | Guy Lewis Steele junior, Gerald Jay Sussman |
Entwickler: | Guy L. Steele und Gerald Jay Sussman |
Aktuelle Version: | R7RS (ratified standard) (2013) |
Typisierung: | stark, dynamisch |
Wichtige Implementierungen: | viele z. B. MIT/GNU Scheme |
Beeinflusst von: | Lisp, ALGOL, MDL |
Beeinflusste: | Common Lisp, JavaScript, R, Ruby, Dylan, Lua, Racket, Snap! / BYOB |
www.scheme.org |
Die Programmiersprache Scheme ist eine Lisp-Variante. Sie ist funktional, unterstützt jedoch auch andere Programmierparadigmen (z. B. imperative Programmierung).
Scheme zeichnet sich dadurch aus, dass nur wenige Programmierkonzepte durch die Syntax vorgegeben sind. In Scheme gibt es daher mehr Möglichkeiten ein Programm zu beschreiben als in vielen anderen Programmiersprachen.
Beispielsweise gibt es im Scheme-Standard keine Hilfsmittel zur objektorientierten Programmierung; solche können aber mittels Makros und λ-Ausdrücken in Scheme programmiert und zur objektorientierten Programmierung in Scheme verwendet werden: Scheme ist eine programmierbare Programmiersprache.
Entwickelt wurde Scheme von Gerald Jay Sussman und Guy Lewis Steele Jr. am Massachusetts Institute of Technology, wo auch die formale Spezifikation zur Verfügung steht, der sogenannte Revised Report. Die derzeit aktuelle Spezifikation ist R7RS.[1]