Live briefing
Everything about Functor (functional programming)
Design pattern in pure functional programming
In functional programming, a functor is a design pattern inspired by the definition from category theory that allows one to apply a function to values inside a generic type without changing the structure of the generic type. In Haskell this idea can be captured in a type class: Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Functor (functional programming)A 5-minute orientation
- Pick up a classic book: Real World HaskellThe most-reprinted book on the subject
- Go sideways: Map (higher-order function)A closely related topic
- Go sideways: Applicative functorA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
- No matching papers found.
📚 Books worth reading
Real World HaskellBryan O'Sullivan, John Goerzen · 2008
A first course in computational physics and object-oriented programming with C++David Yevick · 2005
Computation, Logic, Games, and Quantum Foundations. The Many Facets of Samson AbramskyBob Coecke · 2013
Haskell Cookbook: Build functional applications using Monads, Applicatives, and FunctorsYogesh Sajanikar · 2017- 📕Haskell CookbookYogesh Sajanikar · 2025
Learning Functional ProgrammingJack Widman · 2022
Object-oriented design measurementScott A. Whitmire · 1997
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Map (higher-order function) In many programming languages, map is a higher-order function that applies a given function to each element of a collection, e.g. a list or set, returning…
- Applicative functor In functional programming, an applicative functor, or an applicative for short, is an intermediate structure between functors and monads. Applicative functors…
- 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,…
- Catamorphism In functional programming, the concept of catamorphism (from the Ancient Greek: κατά "downwards" and μορφή "form, shape") denotes the unique homomorphism…
- Anamorphism In computer programming, an anamorphism is a function that generates a sequence by repeated application of the function to its previous result. You begin…
- Tagged union In computer science, a tagged union, also called a variant, variant record, choice type, discriminated union, disjoint union, sum type, or coproduct, is…
- Pattern matching In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern. In contrast…
- Monad (functional programming) In functional programming, monads are a way to structure computations as a sequence of steps, where each step produces a value, plus some extra information…