Ответ 1
В "Недооцененный разворот" , где введен unfoldr
, он известен как unfold
(и foldr
is fold
, как вы см. здесь). Однако к тому времени, когда он попал в библиотеку List, он стал unfoldr
как двойственный к foldr
.
Почему существует r
в Data.List.unfoldr
? Является ли это только для симметрии с foldr
, или есть ли какая-то другая причина этого разворачивания, следует считать правильным ассоциативным?
Это произошло, когда я подумывал о добавлении разворачивания в Data.HashMap
, где я не мог придумать причину включения r
в имя. HashMap
имеют как правую, так и левую складку. Я не вижу причины, по которой разворачивание будет более правильным, чем левое.
В "Недооцененный разворот" , где введен unfoldr
, он известен как unfold
(и foldr
is fold
, как вы см. здесь). Однако к тому времени, когда он попал в библиотеку List, он стал unfoldr
как двойственный к foldr
.