Das Ziel dieser Erweiterung
Resultate von Programmen auf dem
Bildschirm anzeigen, A++ - Code von einer Datei laden,
und beliebige Abstraktionen miteinander vergleichen zu können.
Es handelt sich um die folgenden Primitiv-Abstraktionen:
- vmzero Eine Referenz auf die Zahl 0 des Computers.
Sie stellt eine Brücke zwischen den A++ - Zahlen (Church-Numerals)
und den Zahlen im Computer dar.
- vmtrue Eine Referenz auf den booleschen Wert 'wahr'
im Basissystem.
- vmfalse Eine Referenz auf den booleschen Wert 'falsch'
im Basissystem.
- double-quoted-string Mit dieser Abstraktion werden Zeichenketten
in A++ eingeführt. Sie werden zwingend im Zusammenhang mit der
Primitiv-Operation `load' gebraucht sind aber auch sonst nützlich.
- single-quoted-string Mit dieser Abstraktion werden symbolische
Konstanten in A++ eingeführt.
Sie erleichtern das Programmieren besonders in
objekt-orientierten Anwendungen.
- incr Eine Funktion zum Erhöhen einer Computerzahl um 1.
- print Eine Funktion zum Anzeigen einer Computerzahl oder
eines booleschen Wertes auf dem Bildschirm.
- load Funktion zum Laden einer Code-Datei.
- equalx Um außer den Church Numerals noch andere Daten wie
Closures, Symbole und Zeichenketten miteinander vergleichen
zu können braucht man in A++ diese zusätzliche Primitivoperation.
- quit Diese Funktion wird benutzt, um den ARS-Interpreter zu
beenden.
Diese vorgegebenen Primitivabstraktionen werden in folgenden A++ - Lambda-Abstraktionen
verwendet:
- ndisp! für die Ausgabe einer numerischen Lambda-Abstraktion.
- bdisp! für die Ausgabe einer booleschen Lambda-Abstraktion.
- ldisp! für die Ausgabe einer Liste.
Das Ausrufezeichen am Ende der drei Funktionsnamen weist daraufhin, dass es
Funktionen mit Nebenwirkungen sind.
Unterabschnitte
Georg Loczewski
2003-08-07