[英]In Haskell, if Maybe is a Type or an Union Type, how do you call `Nothing`?
在Haskell中, Maybe
类型可以是Nothing
或Just a
data Maybe = Nothing | Just a
如果我们打电话给Maybe
Union Type,那么什么是Nothing
呢? 一个Type
? 不,它不是类型,您不能将变量声明为Nothing
类型。
也许你会说类型构造函数,是的,但我想表达的事实是Nothing
和Just
是不同的情况。
一个类型值? 一个类型实例? 一个案例?
它是一个数据构造函数 。 由于它没有参数,因此它也称为常量和nullary数据构造函数 。
这些数据构造函数将值组合在一起(这里没有值)以及标记 :某种标识符,用于标识它是Nothing
,而不是Just
。
Nothing
也被称为“变体”(或“变体类型”)的“案例” Maybe a
。 这个术语在OCaml中比在Haskell中更频繁地使用,例如Real World OCaml变体章节 (我不知道在其他语言中常见的是什么)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.