Anamorfisme

Uit Wikipedia, de vrije encyclopedie
Dit is een oude versie van deze pagina, bewerkt door Wimpus (overleg | bijdragen) op 24 mrt 2018 om 03:00.
Deze versie kan sterk verschillen van de huidige versie van deze pagina.

Een anamorfisme is een concept uit het functioneel programmeren dat gegrond is in de categorietheorie. De term komt van het Grieks ανα- (naar boven) + morfisme (van het Griekse μορφή, of vorm).

Anamorfismen in het functioneel programmeren

In functioneel programmeren is een anamorfisme een generalisatie van de lijst-producerende unfolds, die in het functioneel programmeren bekendstaan als abstract datatypen, die kunnen worden beschreven als finale coalgebra's. Unfolds zijn de corecursieve analoga van recursieve folds.

Een van de eerste publicaties die de notie van een anamorfisme in de context van programmeren hebben geïntroduceerd was het artikel "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire", door Erik Meijer et al., dit in de context van de Squiggol programmeertaal.

Anamorfismen in categorietheorie

In de categorietheorie zijn anamorfismen de duale categorieën van catamorfismen.

Notatie

Een notatie voor ana f die in de literatuur gevonden wordt is . De gebruikte haken staan bekend als lenshaken, naar aanleiding waarvan soms aan anamorfismen als lenzen wordt gerefereerd.

Zie ook

Externe links

  • Erik Meijer, Maarten Fokkinga, and Ross Paterson. Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire, (Functioneel programmeren met bananen, lenzen, enveloppen en prikkeldraad) [1], bevat aanvullende definities en voorbeelden