Paramorfismus - Paramorphism - Wikipedia
v formální metody z počítačová věda, a paramorfismus (z řecký παρά, což znamená "blízko u sebe") je rozšířením pojmu katamorfismus poprvé představen Lambert Meertens [1] vypořádat se s formou, která „jí její argument a také ji udrží“,[2][3] jak dokládá faktoriál funkce. Své kategorický duální je apomorfismus.
Jedná se o pohodlnější verzi katamorfózy v tom, že poskytuje kombinující krokové funkci okamžitý přístup nejen k výsledné hodnotě rekurzivně vypočítané z každého rekurzivního podobjektu, ale také k původnímu podobjektu samotnému.
Příklad implementace Haskell, pro seznamy:
kat :: (A -> b -> b) -> b -> [A] -> bodst :: (A -> ([A], b) -> b) -> b -> [A] -> bana :: (b -> (A, b)) -> b -> [A]apo :: (b -> (A, Buď [A] b)) -> b -> [A]kat F b (A:tak jako) = F A (kat F b tak jako)kat _ b [] = bodst F b (A:tak jako) = F A (tak jako, odst F b tak jako)odst _ b [] = bana u b = případ u b z (A, b ') -> A : ana u b 'apo u b = případ u b z (A, Že jo b ') -> A : apo u b ' (A, Vlevo, odjet tak jako) -> A : tak jako
Viz také
- Morfismus
- Morfismy z F-algebry
- Od počáteční algebry k algebře: Katamorfismus
- Od uhlíkory po konečnou uhlíhru: Anamorfismus
- Anamorfismus následovaný katamorfismem: Hylomorfismus
- Rozšíření myšlenky anamorfózy: Apomorfismus
Reference
- ^ Meertens, Lambert (1992). "Paramorfismy". CiteSeerX 10.1.1.19.4825. Chybějící nebo prázdný
| url =
(Pomoc) - ^ Philip Wadler.Pohledy: Způsob shody vzorů s cohabitem s abstrakcí dat. Technical Report 34, Programming Methodology Group, University of Göteburg and Chalmers University of Technology, March 1987.
- ^ Meijer, Erik; Fokkinga, Maarten; Paterson, Ross (1991). "Funkční programování s banány, čočkami, obálkami a ostnatým drátem". CiteSeerX 10.1.1.41.125. Chybějící nebo prázdný
| url =
(Pomoc)
externí odkazy
Vysvětlení na StackOverflow: [1], [2], [3]
Blogy: [4]
Přednášky: [5]
Schémata rekurze Balíček Haskell
![]() | Tento formální metody související článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |