【发布时间】:2017-06-30 11:28:39
【问题描述】:
在一篇论文中,我看到了一个列表的定义(T 是您想要的任何类型):
listof T ::= Nil | Cons T (listof T)
我认为这是说:
T 类型的列表定义为Nil 或函数cons 应用于T 类型列表的结果,其中cons 将列表与另一个列表链接(其余部分-可能是nil)。
这是一个准确的描述吗?
【问题讨论】:
-
语法类似于 Haskell 中的 GADT:
data Listof t = Nil | Cons t (Listof t)。Nil是Listof t类型,Cons是t -> Listof t -> Listof t类型。 -
"
cons将列表与另一个列表链接" - 不!Cons将T类型的单个元素 与另一个列表链接。
标签: list functional-programming cons