Tutorial by Topics: functor

Functor is the class of types f :: * -> * which can be covariantly mapped over. Mapping a function over a data structure applies the function to all the elements of the structure without changing the structure itself.
Applicative is the class of types f :: * -> * which allows lifted function application over a structure where the function is also embedded in that structure.

Profunctor is a typeclass provided by the profunctors package in Data.Profunctor.

See the "Remarks" section for a full explanation.

Page 1 of 1