Datentypen

Wenn alles ein Ausdruck ist, muss auch alles einen Datentyp besitzen. Das beginnt bei einfachen Datentypen, die Werte darstellen, geht über abstrakte Datentypen wie Strukturen und Klassen zu Datentypen, die Sprache und Syntax beschreiben:

void kein Wert, kein verwertbarer Datentyp - ist innerhalb von Ausdrücken nicht erlaubt
neutral kein Wert, neutraler Datentyp - entspricht dem neutralem Element für jeden Operator
bit, int, real, code Roh-Daten
enum Aufzählung von Begriffen, aufeinanderfolgend
flags Aufzählung von Begriffen, parallel verwendbar
class abstrakter Datentyp als Kombination von beliebigen Datentypen
iterator Positionsspeicher zum Durchlaufen von Klassen
io Datentyp zum Zugriff auf beliebige Ein-/Ausgabe-Medien
dom Baumstruktur entsprechend eines Data Object Modells
type Datentyp zur Beschreibung eines Datentyps
context Beschreibung einer (Sub-)Sprache
operator Beschreibung von Syntax und Semantik
system Beschreibung von Standard-Betriebsystemfunktionen auf allen Architekturen
architectur Beschreibung, wie ein Zwischencode-Befehl auf die jeweilige Architektur umgesetzt wird
object Ein beliebiger Datensatz mit beliebigen Typ mit dynamischer Auswertung