我正在学习Haskell,遇到类似以下内容:
data ABC :: * where
Empty :: ABC
Single :: Char -> ABC
上述意味着什么?当我们说“写一个代表某种东西的ABC”时,这是什么意思?
答案 0 :(得分:2)
此语法与Haskell中的标准数据类型语法相同。特别是,类型ABC
与
data ABC = Empty | Single Char
包含where
子句的语法称为" GADT语法"它通过为"存在类型"提供清晰的语法,提供了一些额外的表现力。和#34;类型的平等"。不过,这两个都是相当高级的主题。坚持基本类型,直到你的水腿。