Haskell 定义数据类型
Haskell define a datatype
我正在学习 Haskell 遇到如下情况:
data ABC :: * where
Empty :: ABC
Single :: Char -> ABC
以上是什么意思?当我们说 "write a ABC representing something" 是什么意思?
此语法与 Haskell 中的标准数据类型语法相同。特别是,类型 ABC
与
相同
data ABC = Empty | Single Char
包含 where
子句的语法称为 "GADT syntax",它通过允许 "existential types" 和 "type equalities" 的清晰语法提供了一些额外的表现力。不过,这两个都是相当高级的主题。坚持使用基本类型,直到你得到你的水腿。
我正在学习 Haskell 遇到如下情况:
data ABC :: * where
Empty :: ABC
Single :: Char -> ABC
以上是什么意思?当我们说 "write a ABC representing something" 是什么意思?
此语法与 Haskell 中的标准数据类型语法相同。特别是,类型 ABC
与
data ABC = Empty | Single Char
包含 where
子句的语法称为 "GADT syntax",它通过允许 "existential types" 和 "type equalities" 的清晰语法提供了一些额外的表现力。不过,这两个都是相当高级的主题。坚持使用基本类型,直到你得到你的水腿。