Вопросы по теме 'catamorphism'

Катаморфизм и обход дерева в Haskell
Я нетерпелив, с нетерпением жду понимания катаморфизма связанных с этим вопросом SO :) Я практиковался только в начале учебника Real World Haskell. Так что, может быть, я собираюсь попросить слишком многого прямо сейчас, если бы это было так,...
3228 просмотров
schedule 11.07.2023

Схемы рекурсии в Agda
Излишне говорить, что стандартная конструкция в Haskell newtype Fix f = Fix { getFix :: f (Fix f) } cata :: (Functor f) => (f a -> a) -> Fix f -> a cata f = f . fmap (cata f) . getFix это здорово и очень полезно. Пытаюсь...
1058 просмотров

Как сложить n-арное дерево в C #
Я хотел бы сделать свертку над n-арными структурами данных Tree. (fold - это также Aggregate в Linq). Мне удалось найти рабочее решение: public static R Aggregate<T, R>(T node, Func<T, IEnumerable<T>> getChildren,...
1057 просмотров
schedule 31.03.2023

F#: Катаморфизмы для взаимно рекурсивных структур данных
Предположим следующую взаимно рекурсивную структуру: type Tree<'a> = | Empty | Node of 'a * 'a Forest and Forest<'a> = | Nil | Cons of 'a Tree * 'a Forest Цель: создать общие катаморфизмы для этой структуры:...
224 просмотров

Обладает ли каждый тип уникальным катаморфизмом?
В последнее время я, наконец, начал чувствовать, что понимаю катаморфизмы. Я кое-что написал о них в недавнем ответе , но вкратце я бы сказал, что катаморфизм для типа абстрагируется от процесса рекурсивного обход значения этого типа с...
346 просмотров
schedule 13.06.2023

Схема рекурсии из Int -> Int?
Идентификация папки foldr (:) [] В более общем смысле, с помощью свертки вы можете либо разрушить структуру и получить итоговое значение, либо внедрить структуру таким образом, чтобы получить ту же структуру вывода. [Int] -> [Int] or...
154 просмотров

Морфизм, при котором алгебра получает позицию элемента
Какой из них является подходящим морфизмом (схемой рекурсии) для использования, когда в функции преобразования требуется позиция данного элемента (индекс или путь)? Простым примером может быть преобразование списка ["foo",...
36 просмотров
schedule 07.11.2022