Oltre ai tipi standard di Verse, esistono alcuni costrutti aggiuntivi che possono essere utilizzati come tipi, ma che tecnicamente non lo sono. void è uno di questi costrutti.
Quando viene utilizzato come risultato di una funzione, indica che la funzione può restituire qualsiasi valore, ma quando viene richiamata, non fornirà alcun risultato di particolare interesse.
Ad esempio:
Foo() : void = {}
Ciò significa che Foo avrà esito positivo, ma non restituirà un valore.
Ad esempio:
FirstInt(X:int, :void) : int = X
Tecnicamente, void può essere pensato come una funzione definita come
void(:any) : true
Quando viene utilizzato come tipo, potresti pensare che venga applicato a qualsiasi elemento sia assegnato al corrispondente identificatore tipizzato.
L'utilizzo di una funzione in una posizione di tipo è consentito solo per una funzione void. Le funzioni utilizzate in questo modo sono note come funtori.