Вопросы по теме 'recursion-schemes'

Проблема с расширением Data.Functor.Foldable
В этом вопросе используются концепции/импорт из http://hackage.haskell.org/package/recursion-schemes-4.0/docs/Data-Functor-Foldable.html Я пытаюсь расширить это, чтобы пропустить данную монаду через катаморфизм. Вот код, который я пытаюсь...
163 просмотров
schedule 06.11.2022

Каким образом Scala's Option является катаморфизмом?
Ответ на этот вопрос предполагает, что метод сворачивания в Option в Scala это катамопризм. Из википедии катамофизм - это «уникальный гомоморфизм исходной алгебры в некоторую другую алгебру. концепция была применена к функциональному...
1253 просмотров

Катаморфизмы для церковно-кодированных списков
Я хочу иметь возможность использовать cata из пакета recursion-schemes для списков в церковной кодировке. type ListC a = forall b. (a -> b -> b) -> b -> b Я использовал тип второго ранга для удобства, но мне все равно. Не...
393 просмотров

Как смешать CoFree с катаморфизмом F-алгебры?
Во-первых, это основано на https://www.schoolofhaskell.com/user/bartosz/understanding-алгебрах , поэтому, если вы не знакомы с алгебрами и схемами рекурсии, прочитайте контекст. Скажем, у меня есть простой анализатор выражений: data Expr a =...
245 просмотров
schedule 27.04.2023

Проблема рекурсии при написании версии Lens.para с поддержкой Pretext
Я пытался создать замену для Lens.para , которая предоставляет объективированные контексты для функции para, когда она выполняет свою работу. Однако я, кажется, где-то допустил ошибку в рекурсии. Насколько я понимаю, Lens.para — это функция...
139 просмотров

Схемы рекурсии Haskell: одновременный обход двух структур
Я пытаюсь написать алгоритм объединения Робинсона, используя схемы рекурсии. Алгоритм объединения принимает два типа и выдает результат. Тип - это: data TypeF a = TypeApplication a a | TypeVariable Name deriving...
175 просмотров

Не удалось разрешить экземпляр типа Haskell
Я пытаюсь создать структуру Cofree с помощью анаморфизма, согласно этот пост . Но компилятор жалуется на несоответствие типов: Expected type: Base (Cofree Term E) (E, Fix Term) Actual type: CofreeF Term E (E, Fix Term) Но в исходном...
89 просмотров

Как обновить структуру с помощью рекурсивных схем?
В схемах рекурсии, как я могу построить что-то с определением типа, например (Recursive t, CoRecursive t) -> t -> ? -> t Я пытаюсь использовать рекурсивные схемы для обновления узлов. Взяв список в качестве примера, я могу придумать два...
151 просмотров
schedule 22.02.2023