Everything about Anamorphism
Programming function applied recursively to its previous result
In computer programming, an anamorphism is a function that generates a sequence by repeated application of the function to its previous result. You begin with some value A and apply a function f to it to get B. Then you apply f to B to get C, and so on until some terminating condition is reached. The anamorphism is the function that generates the list of A, B, C, etc. The anamorphism can be thought of as unfolding the initial value into a sequence. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: AnamorphismA 5-minute orientation
- Pick up a classic book: Johannes DeutschThe most-reprinted book on the subject
- Read the landmark paper: Angular spectrum method with correction of anamorphism for numerical reconstruction of digital holograms on tilted planesCited 136 times
- Go sideways: CatamorphismA closely related topic
- Go sideways: Hylomorphism (computer science)A closely related topic
📖 Definitions
Noun A generalization of the list-producing unfolds known from functional programming to arbitrary abstract data types that can be described as final coalgebras.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Angular spectrum method with correction of anamorphism for numerical reconstruction of digital holograms on tilted planes
Correct-image reconstruction in the presence of severe anamorphism by means of digital holography
A Midsummer Night’s Dream: Anamorphism and Theseus’ Dream
Cloaking and anamorphism for light and mass diffusion
The Production of the World: Translation, Compensation, and Anamorphism in van Gogh and Faulkner
Primero Huerto: Iconography, Anamorphism, and the Idea of the Garden in Sixteenth-Century Spanish Mysticism
Designing Public Transportation Network Maps with Anamorphism
APPLICATION OF ANAMORPHISM IN PRODUCT DESIGN
📚 Books worth reading
- 📕Johannes DeutschJohannes Deutsch · 1992
- 📕AnamorphosesJurgis Baltrušaitis · 1955
AnamorphosesBaltrušaitis, Jurgis · 1969
Pavement Chalk ArtistJulian Beever · 2012- 📕An anamorphic alphabetChristopher Brown · 1999
Anno's magical ABCMitsumasa Anno · 1981- 📕Anamorphic artJurgis Baltrušaitis · 1977
- 📕AnamorfosiJurgis Baltrušaitis · 1969
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Catamorphism In functional programming, the concept of catamorphism (from the Ancient Greek: κατά "downwards" and μορφή "form, shape") denotes the unique homomorphism…
- Hylomorphism (computer science) In computer science, and in particular functional programming, a hylomorphism is a recursive function, corresponding to the composition of an anamorphism…
- Initial algebra In mathematics, an initial algebra is an initial object in the category of F-algebras for a given endofunctor F. This initiality provides a general framework…
- Corecursion In computer science, corecursion is a type of operation that is dual to (structural) recursion. Whereas recursion consumes a data structure by first handling…
- Paramorphism In formal methods of computer science, a paramorphism (from Greek παρά, meaning "close together") is an extension of the concept of catamorphism first…
- Coinduction In computer science, coinduction is a technique for defining and proving properties of systems of concurrent interacting objects. Coinduction is the mathematica…
- Fold (higher-order function) In functional programming, a fold is a higher-order function that analyzes a recursive data structure and, through use of a given combining operation,…
- F-coalgebra In mathematics, specifically in category theory, an F-coalgebra is a structure defined according to a functor F, with specific properties as defined below…