Standard ML

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. September 2004 um 17:14 Uhr durch 83.64.18.228 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Standard Meta Language (SML) ist eine von ML abstammende funktionale Programmiersprache mit einigen imperativen Merkmalen (zum Beispiel im Bereich File IO).

ML Schöpfer Robin Milner schlug SML 1983 vor, um die verschiedenen Dialekte von ML zu standardisieren. Die Sprache wurde von 1984-1988 entwickelt und schließlich 1990 von Robin Milner, Mads Tofte und Robert Harper formalisiert. 1997 wurde mit SML'97 eine Revision der Sprache veröffentlicht, die neben einigen Vereinfachungen auch eine SML Basisbibliothek enthält.

Wichtige Merkmale von SML sind statische Typisierung, Polymorphie (auf Funktions- und Datentypsebene), Garbage-Collection, strenge Auswertung und Ausnahmebehandlung. Außerdem unterstützt SML Funktionen höherer Ordnung, Module und Funktoren.

Eine Besonderheit von SML ist, dass die Sprache vollständig formal definiert ist. Dadurch können wichtige Eigenschaften der Sprache mathematisch bewiesen werden.

Implementierungen

Es existieren verschiedene Implementierungen von SML, die entweder Bytecode oder Maschinencode generieren. Die Standardimplementierung ist SML/NJ. Sml2c ist ein besonderer Compiler, der SML in C Code übersetzt.