为什么r
中有Data.List.unfoldr
?是仅仅与foldr
对称,还是有其他原因,这种展开应该被认为是正确的联想?
当我考虑向Data.HashMap
添加展开时出现了这个问题,在那里我无法想到在名称中加入r
的理由。 HashMap
有左右折叠。我没有看到为什么展开会比左边更正确的原因。
答案 0 :(得分:12)
在引入unfoldr
的{{3}}中,它被称为unfold
(而foldr
是fold
,因为"The Underappreciated Unfold") 。但是,当它进入List库时,它已成为see here,作为foldr
的双重身份。