В разделе wiki говорится, что оба класса имеют дело с контейнерными операциями, а Foldable - это класс контейнеров с foldr
, определенный над ними, и для Functor it fmap
.
Однако каково принципиальное различие между типами Foldable и типами, которые являются функторами?
Вики намекают на это различие:
Класс [Foldable] не требует суперкласса Functor, чтобы разрешить контейнеры, такие как Set или StorableVector
Но я все еще не уверен, почему Set не удалось сопоставить, чтобы получить другой набор, если я правильно его интерпретирую.