Dictionary Definition
anamorphism
Noun
1 the evolution of one type of organism from
another by a long series of gradual changes [syn: anamorphosis]
2 metamorphism that occurs deep under the earth's
surface; changes simple minerals into complex minerals [ant:
katamorphism]
3 a distorted projection or perspective;
especially an image distorted in such a way that it becomes visible
only when viewed in a special manner [syn: anamorphosis]
User Contributed Dictionary
English
Etymology
Noun
- a generalization of the list-producing unfolds known from functional programming to arbitrary abstract data types that can be described as final coalgebras
Related terms
Extensive Definition
Anamorphism is a concept from functional
programming grounded in category
theory. The term comes from Greek (upwards) + morphism (from Greek , 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
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
anamorphism in Russian:
Анаморфизм