我在这里找到了以下示例
instance Monad Maybe where
Nothing >>= f = Nothing
(Just x) >>= f = f x
return = Just
该return
方法以无点样式定义,我知道它适用于函数,但这里我们有一个数据构造函数,其声明语法看起来与函数之一不同,更不用说它的用途了。
另一个教程说:
数据构造函数是 Haskell 中的第一类值,实际上有一个类型。例如,Either 数据类型的 Left 构造函数的类型是:
左:: forall b a。a -> 要么 ab
作为第一类值,它们可以传递给函数,保存在列表中,成为其他代数数据类型的数据元素等等。
因此,任何人都可以弄清楚数据构造函数是什么以及它们与函数有何不同(如果有的话)。