|
Hier ein paar Tips zum Umgang mit Moscow ML. Weiterführende Information
gibt es im Manual, z.B. online unter:
Installation unter Windows
Damit Moscow ML unter Windows/Dos vernünftig benutzbar ist, solltet ihr in
der Datei AUTOEXEC.BAT (im Wurzelverzeichnis von Laufwerk C:) folgende
Zeilen anfügen:
set MOSMLLIB=c:\mosml\lib
set PATH=$PATH;c:\mosml\bin
|
(unter der Annahme, dass Moscow ML in c:\mosml installiert ist). Danach erst
einmal neu Booten.
Der Interpreter
Der Moscow-ML-Interpreter wird gestartet mit:
Danach befindet man sich in der interaktiven Oberfläche und kann dort
ML-Deklarationen oder -Ausdrücke eingeben. Mit Ctrl-C kann eine laufende
Auswertung unterbrochen werden, mit Ctrl-D wird der Interpreter verlassen.
Mithilfe des Prozeduraufrufs
können Deklarationen und Ausdrücke aus einer Textdatei X.sml
eingelesen werden.
Mit der Prozedur
wird die Struktur X sowie alle von dieser Struktur benötigten
Strukturen geladen. Die Strukturen müssen in übersetzter Form (siehe
unten) vorliegen, d.h. die Dateien X.ui und X.uo (sowie
gegebenenfalls die entsprechenden Dateien weiterer dazu notwendiger Strukturen)
müssen vorliegen. Man beachte, dass zweimaliges Laden derselben Struktur
ignoriert wird, nach einer Neuübersetzung einer Struktur muss der
Interpreter also neu gestartet werden.
Weitere Tips siehe im Online-Manual
unter:
Der Übersetzer
Signaturen und Strukturimplementierungen werden übersetzt mit den
Kommandos
% mosmlc -c X.sig
% mosmlc -c X.sml
|
Dabei werden die Dateien X.ui (für die übersetzte Signatur)
bzw. X.uo (für die Implementierung) erzeugt. Die Signatur muss
immer vor der Implementierung übersetzt werden. Ausserdem müssen
die übersetzten Signaturen aller verwendeten weiteren Strukturen zur
Verfügung stehen.
Die übersetzten Dateien können nun in den Interpreter
geladen werden (siehe oben), und stehen zur Übersetzung weiterer Strukturen
bereit.
Mit dem Aufruf
bzw. unter Dos/Windows:
% mosmlc -c X.sml -o yyy.exe
|
wird aus der Struktur X.sml ein direkt ausführbares Programm
yyy erzeugt, welches mit
gestartet werden kann, wobei beliebig viele Kommandozeilenargumente
argn übergeben werden können.
Siehe auch:
Andreas Rossberg
|