Verse の標準的な 型 に加え、型と同じように使用できるコンストラクトはいくつかあります。ただし、それらは技術的には型ではありません。void
はそうしたコンストラクトの 1 つです。
void は、関数 の 結果 として使用した場合、関数が 値 を返せることを示しますが、呼び出し をされても、それに関連した結果は返しません。
次に例を示します。
Foo() : void = {}
これは、Foo は 成功 するが、値を返さないことを意味します。
次に例を示します。
FirstInt(X:int, :void) : int = X
技術的には、void は以下のように定義される関数と考えることができます。
void(:any) : true
型として使用する場合は、対応する型が指定された 識別子 に割り当てられるあらゆるものに適用されると考えることができます。
型の位置での関数の使用は、void
関数でのみ可能となっており、このように使用される関数は、関手 (functor) として知られています。