来自Learn You a Haskell:
想想这个列表:
[5]
。这只是5:[]
. 在 的左侧:
,有一个值;在右侧,有一个列表。在这种情况下,它是一个空列表。现在名单怎么样[4,5]
?好吧,这对4:(5:[])
. 查看第一个 :,我们看到它的左侧还有一个元素,右侧还有一个列表 ,(5:[])
。 类似的列表也是如此3:(4:(5:6:[]))
,它可以写成这样或类似3:4:5:6:[]
(因为:
是右关联的)或[3,4,5,6]
.
对于粗体部分,我期待不断增长的列表最终以3:(4:(5:(6:[])))
. 这与我对柯里化、关联性或两者缺乏理解有关。有人能告诉我我的想法的缺陷吗?