Functor (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: This declaration says that any instance of Functor must support a method fmap, which maps a function over the elements of the instance.
Source: Wikipedia — Functor (functional programming) (CC BY-SA 4.0)