Chapter 12 Language extensions

20 Empty variant types

(Introduced in 4.07.0)

type-representation::= ...
 =|

This extension allows user to define empty variants. Empty variant type can be eliminated by refutation case of pattern matching.

type t = | let f (x: t) = match x with _ -> .