Anamorphism


Anamorphism

Anamorphism is a concept from functional programming grounded in category theory. The term comes from Greek Polytonic|ανα- (upwards) + morphism (from Greek Polytonic|μορφή, or form, shape).

Anamorphisms in functional programming

In functional programming, an anamorphism is a generalization of the list-producing "unfolds" known from functional programming to arbitrary abstract data types that can be described as final coalgebras. Unfolds are the co-recursive analogues of recursive folds.

One of the first publications to introduce the notion of an anamorphism in the context of programming was the paper "Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire", by Erik Meijer "et al.", which was in the context of the Squiggol programming language.

Anamorphisms in category theory

In category theory, anamorphisms are the categorical dual of catamorphisms.

Notation

A notation for ana "f" found in the literature is [!(f)!] . The brackets used are known as lens brackets, after which anamorphisms are sometimes referred to as "lenses".

See also

* Catamorphism
* Hylomorphism
* Paramorphism
* Apomorphism

External links

* Erik Meijer, Maarten Fokkinga, and Ross Paterson. "Functional Programming with Bananas, Lenses, Envelopes, and Barbed Wire" [http://research.microsoft.com/~emeijer/Papers/fpca91.pdf] , contains additional definitions and examples


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Anamorphism — An a*mor phism, n. [Gr. ? again + morfh form.] 1. A distorted image. [1913 Webster] 2. (Biol.) A gradual progression from one type to another, generally ascending. Huxley. [1913 Webster] …   The Collaborative International Dictionary of English

  • anamorphism — (n.) distorted projection or perspective, 1836; see ANAMORPHOSIS (Cf. anamorphosis) + ISM (Cf. ism) …   Etymology dictionary

  • anamorphism — ☆ anamorphism [an΄ə môr′fiz΄əm] n. [ ANA + MORPH + ISM ] Geol. intense metamorphism deep within the earth, producing very dense, highly complex minerals …   English World dictionary

  • anamorphism — anamorfizmas statusas T sritis chemija apibrėžtis Uolienos kitimo procesų, vykstančių giliai Žemės plutoje, visuma. atitikmenys: angl. anamorphism rus. анаморфизм …   Chemijos terminų aiškinamasis žodynas

  • anamorphism — /an euh mawr fiz euhm/, n. Geol. metamorphism, usually occurring deep under the earth s surface, that changes simple minerals to complex minerals. Cf. katamorphism. [1830 40; ANA + MORPHISM] * * * …   Universalium

  • anamorphism — noun a generalization of the list producing unfolds known from functional programming to arbitrary abstract data types that can be described as final coalgebras See Also: anamorphic …   Wiktionary

  • anamorphism — an·a·mor·phism …   English syllables

  • anamorphism — noun 1. the evolution of one type of organism from another by a long series of gradual changes • Syn: ↑anamorphosis • Hypernyms: ↑evolution, ↑organic evolution, ↑phylogeny, ↑phylogenesis 2. metamorphism that occurs deep under the earth s surface; …   Useful english dictionary

  • Hylomorphism (computer science) — In computer science, and in particular functional programming, a hylomorphism is a recursive function, corresponding to the composition of an anamorphism (which first builds a set of results; also known as unfolding ) and a catamorphism (which… …   Wikipedia

  • Anamorphisme — Traduction à relire Anamorphism → Anamorphisme …   Wikipédia en Français