Typ-Hierarchie
In JayMo wird jedes Objekt von einem Typ (in Java 'Klasse' genannt) abgeleitet und erzeugt. Ein Typ bildet also den Bauplan für ein Objekt.
Da ein Typ von einem anderen Typ erben und dessen Funktionalität erweitern kann, ergibt sich so eine Hierarchie.
Print "Hello world!".types
Mit '.types" wird eine Liste mit allen Typen abgefragt.
Die Ausgabe ist in diesem Fall:
<Object>,<Atomic>,<Chars>,<Str>
Nun der Reihe nach von links aufbauend erklärt:
Object
Die Zeichenkette basiert, wie alle Objekte, auf dem Typ 'Object'. Dieser Ur-Typ stellt bereits viele wichtige Funktionen bereit, wie z.B. die Funktion '.print'.
Atomic
Der Typ 'Atomic' erbt von 'Object' und stellt weitere spezifischere Funktionen bereit. 'Atomic' bedeutet auch, dass es sich hier um einen atomaren Typ handelt. Atomare Typen sind die unveränderlichen Grundbausteine in JayMo. Über 'Atomic' wird z.B. die Funktion '.length' bereitgestellt, mit der die Länge der Zeichenkette abgefragt werden kann:
Print "Hello world!".length
Dieser String ist also 12 Zeichen lang. Da Ganzzahlen ebenso von 'Atomic' erben, kann auch von diesen die Länge abgefragt werden:
Print 52753.length
Chars
Die Zeichenkette erbt des weiteren von 'Chars', von der ebenso der Typ "Char" (z.B.: 'a') erbt.
Str
Ganz rechts in der Liste steht dann der eigentlichen Typ: 'Str'