我想知道为什么在Haskell中某些函数名称没有对称性:
例如:
head :获取第一个元素
last :获取最后一个元素
是否有充分的理由说明为什么head函数未命名first,或者反之,last函数可以命名end或类似名称。
Haskell的函数具有两对列表函数:
head :: [a] -> a和tail :: [a] -> [a]; 和init :: [a] -> [a]和last :: [a] -> a。向您了解更大的Haskell,这很好地说明了这一点:
该head因而是该列表的第一元件,而tail是包含剩余的元素列表。
将init采用除最后一个元素以外的所有元素,last从而采用最后一个元素。
Haskell中的列表在概念上是一个链接列表。通常,随机访问在列表处理中不是很常见。通常,大多数列表处理功能都会获取一个列表,并将其像项目流一样进行处理。
该
head列表是它的第一个节点。该tail列表既可以指的是列表的其余部分头后,或在列表的最后一个节点。在Lisp和某些派生语言中,下一个节点可以称为列表的cdr(发音可能),而头节点的有效负载可以称为car。