使用值构造函数参数创建数据类型

值构造函数是返回数据类型值的函数。因此,就像任何其他函数一样,它们可以采用一个或多个参数:

data Foo = Bar String Int | Biz String

我们来检查 Bar 值构造函数的类型。

:t Bar

版画

Bar::String -> Int -> Foo

这证明了 Bar 确实是一种功能。

创建自定义类型的变量

let x = Bar "Hello" 10
let y = Biz "Goodbye"