Zusätzlich zu den standardmäßigen [Typen] [verse-glossary#type) in Verse gibt es einige zusätzliche Konstrukte, die so verwendet werden können, wie ein Typ verwendet würde, die aber technisch gesehen keine Typen sind. void ist ein solches Konstrukt.
Wenn es als Ergebnis einer Funktion verwendet wird, zeigt es an, dass die Funktion jeden Wert zurückgeben kann, aber wenn sie aufgerufen wird, wird sie kein bestimmtes Ergebnis von Interesse liefern.
Zum Beispiel:
Foo() : void = {}
Das bedeutet, dass Foo erfolgreich sein wird, aber keinen Wert zurückgibt.
Zum Beispiel:
FirstInt(X:int, :void) : int = X
Technisch gesehen kann man sich „void“ als eine Funktion vorstellen, die definiert ist als
void(:any) : true
Wird sie als Typ verwendet, kann man sich vorstellen, dass sie auf alles angewendet wird, was der entsprechenden typisierten Kennung zugewiesen ist.
Die Verwendung einer Funktion an einer Typposition ist nur für eine void-Funktion erlaubt. Funktionen, die auf diese Weise verwendet werden, sind als Funktoren bekannt.