Стоит ли использовать складки в пакетах Turtle или Foldl?

У меня возникли некоторые трудности с использованием Turtle, и только через несколько минут, глядя на непонятные сообщения об ошибках, понял, что я использовал неправильно fold функция.

https://hackage.haskell.org/package/turtle-1.5.8/docs/Turtle-Shell.html https://hackage.haskell.org/package/foldl-1.4.0/docs/src/Control.Foldl.html

Почему происходит столкновение имен? Я не верю, что это совпадение, но я не могу понять это. Являются ли эти по сути различные виды складок?

Чтобы быть конкретным, я хотел сложить имена файлов потока в одно имя, используя максимальное время модификации.

1 ответ

(Прежде всего, складки, о которых мы говорим здесь, не являются функциями foldr foldl foldl 'Data.Foldable они из пакета foldl, который концептуально связан сfoldl'функция отData.Foldable, как своего рода универсальное обобщение, но имеет отдельные определения.)

Fold Тип данных представляет собой строгую операцию с сохранением состояния для выполнения на входящей последовательности значений. это Applicative instance позволяет запустить две операции, объединенные в одной последовательности значений. Foldу них есть замечательное свойство, что они не знают, откуда берутся ценности.

Каждый тип источника будет иметь свою собственную функцию для ввода значений. Эти функции могут иметь общее имя fold, но это не проблема, потому что типичная рекомендация - импортировать квалифицированные пакеты.

Функция сгиба из пакета foldl подает содержимое любого Foldable контейнер. Сгиб от черепахи кормит результаты Shell, Потоковые библиотеки, такие как "каналы", имеют свои собственные адаптеры.

Другие вопросы по тегам