为什么“r”在unfoldr?
问题描述:
为什么Data.List.unfoldr
中有r
?是否仅仅为了与foldr
对称,还是有其他原因应该被认为是正确的联想?为什么“r”在unfoldr?
当我正在考虑在Data.HashMap
上展开展示时,我想到了在名称中包含r
的原因。 HashMap
s同时具有右侧和左侧折叠。我没有看到展开的原因比左边更合适。
答
在"The Underappreciated Unfold",在引入unfoldr
,它被称为unfold
(和foldr
为fold
,因为你see here)。但是,当它进入列表库时,它已变成unfoldr
,作为foldr
的双重对象。
+0
本文目前位于:[低评价展开](http://www.cs.ox.ac.uk/jeremy.gibbons/publications/unfold.ps.gz) – andro
你可以想象一个'unfoldl'构建列表的另一个顺序。但是哪一个应该是'l'或'r'对我来说还不清楚。 :) – augustss