AskDefine | Define anamorphism

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

  1. 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

anamorphism in Russian: Анаморфизм
Privacy Policy, About Us, Terms and Conditions, Contact Us
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2
Material from Wikipedia, Wiktionary, Dict
Valid HTML 4.01 Strict, Valid CSS Level 2.1