Skip to content

或有型

类型 ​

meta-lisp
类型型

描述 ​

可选值类型构造器。(或有型 甲) 表示可能存在也可能不存在类型为 甲 的值。

定义 ​

meta-lisp
(定义枚举 (或有型 甲)
  (有 (值 甲))
  (无))

自动生成 ​

meta-lisp
(声明 有  (泛型 (甲) (-> 甲 (或有型 甲))))
(声明 为有 (泛型 (甲) (-> (或有型 甲) 真假型)))
(声明 有值 (泛型 (甲) (-> (或有型 甲) 甲)))
(声明 有存值 (泛型 (甲) (-> (或有型 甲) 甲 空值型)))

(声明 无 (泛型 (甲) (-> (或有型 甲))))
(声明 为无 (泛型 (甲) (-> (或有型 甲) 真假型)))

例子 ​

meta-lisp
(定义 或有 (有 42))
(为有 或有)          ;; => 真
(为无 或有)       ;; => 假
(有值 或有)     ;; => 42