История изменений
Исправление qnikst, (текущая версия) :
ну ёлки-палки, ну Cons list же.. Stream
псевдокод:
data List = (:) a (List a) | Nil
при изменении обновляется голова, а хвост шарится.
При этом не факт, что у тебя во всех алгоритмах список вообще будет строиться, т.к. есть deforestification (он же list fusion основанный на foldr/build), ещё есть stream-fusion (продвинутый foldr/unfoldr).
Исправление qnikst, :
ну ёлки-палки, ну Cons list же.. Stream
data List = (:) a List | Nil
при изменении обновляется голова, а хвост шарится.
При этом не факт, что у тебя во всех алгоритмах список вообще будет строиться, т.к. есть deforestification (он же list fusion основанный на foldr/build), ещё есть stream-fusion (продвинутый foldr/unfoldr).
Исходная версия qnikst, :
ну ёлки-палки, ну Cons list же.. Stream
data List = (:) a List | Nil
при изменении обновляется голова, а хвост шарится.