空类型。它没有构造子。
当作用域中有一个类型为 Empty.elim 所消去的 Empty 值时使用它。
构造子
空类型 Empty 表示不可能的值。
它是一个完全没有构造子的归纳类型。
平凡类型 Unit 只有一个不接受参数的构造子,可用于为不需要或不关心结果的计算建模;而 Empty 可用于根本不应有任何计算发生的情形。
用 Empty 实例化多态类型,可以将该类型的某些构造子——即带有相应类型参数的构造子——标记为不可能,从而排除某些不希望出现的代码路径。
出现类型为 Empty 的项,表示程序已经到达一条不可能的代码路径。
由于没有构造子,这种类型绝不会有值。
在不可能的代码路径上没有理由继续编写代码;可使用函数 Empty.elim 脱离这条不可能的路径。