(Прежде всего, сгибы, о которых мы здесь говорим, не являются foldr foldl foldl ' функциями из Data.Foldable
, они из Пакет foldl , который концептуально относится к функции foldl'
из Data.Foldable
, как своего рода универсальное обобщение, но имеет отдельные определения.)
Тип данных Fold
представляет собой строгую операцию с сохранением состояния для выполнения на входящей последовательности значений. Его экземпляр Applicative
позволяет запускать две операции, объединенные в одной последовательности значений. Fold
имеют приятное свойство, что они не имеют никакого отношения к тому, откуда берутся значения.
Каждый тип источника будет иметь свою собственную функцию для ввода значений. Эти функции могут иметь общее имя fold
, но это не проблема, поскольку типичная рекомендация - импортировать квалифицированные пакеты.
Функция fold из пакета foldl подает содержимое любого контейнера Foldable
. fold from turtle подает результаты Shell
. Потоковые библиотеки, такие как "pipe", имеют свои собственные адаптеры .