Параморфизм - Paramorphism - Wikipedia
В формальные методы из Информатика, а параморфизм (из Греческий παρά, что означает «близко друг к другу») является расширением концепции катаморфизм впервые представленный Ламберт Меертенс [1] иметь дело с формой, которая «ест свой аргумент и сохраняет его тоже»,[2][3] как показано на примере факториал функция. Его категоричный дуальный это апоморфизм.
Это более удобная версия катаморфизма, поскольку она дает функции комбинирования шага немедленный доступ не только к результату, рекурсивно вычисленному из каждого рекурсивного подобъекта, но и к самому исходному подобъекту.
Пример реализации Haskell для списков:
ката :: (а -> б -> б) -> б -> [а] -> бпараграф :: (а -> ([а], б) -> б) -> б -> [а] -> бана :: (б -> (а, б)) -> б -> [а]апо :: (б -> (а, Либо [а] б)) -> б -> [а]ката ж б (а:в качестве) = ж а (ката ж б в качестве)ката _ б [] = бпараграф ж б (а:в качестве) = ж а (в качестве, параграф ж б в качестве)параграф _ б [] = бана ты б = дело ты б из (а, б ') -> а : ана ты б 'апо ты б = дело ты б из (а, Правильно б ') -> а : апо ты б ' (а, Оставили в качестве) -> а : в качестве
Смотрите также
- Морфизм
- Морфизмы F-алгебры
- От начальной алгебры к алгебре: Катаморфизм
- От коалгебры к окончательной коалгебре: Анаморфизм
- За анаморфизмом следует катаморфизм: Гиломорфизм
- Расширение идеи анаморфизмов: Апоморфизм
Рекомендации
- ^ Меертенс, Ламберт (1992). «Параморфизмы». CiteSeerX 10.1.1.19.4825. Отсутствует или пусто
| url =
(помощь) - ^ Филип Вадлер.Представления: способ сопоставления с образцом сосуществовать с абстракцией данных. Технический отчет 34, Группа методологии программирования, Гетебургский университет и Технологический университет Чалмерса, март 1987 г.
- ^ Мейер, Эрик; Фоккинга, Маартен; Патерсон, Росс (1991). «Функциональное программирование с бананами, линзами, конвертами и колючей проволокой». CiteSeerX 10.1.1.41.125. Отсутствует или пусто
| url =
(помощь)
внешняя ссылка
Пояснение к StackOverflow: [1], [2], [3]
Блоги: [4]
Беседы: [5]
Схемы рекурсии Haskell package
Этот формальные методы -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |