Functor
Un foncteur est un constructeur de types doté d'une opération map qui applique une fonction à la valeur à l'intérieur d'un conteneur sans changer la structure du conteneur.
Objectif
Unifier le mappage comme abstraction, servir de base aux monades et prendre en charge la transformation à l'intérieur du conteneur.
Mécanisme
F<T> fournit map : F<T> × (T→U) → F<U>. Il satisfait la loi d'identité (map(id) = id) et la loi de composition (map(f∘g) = map(f)∘map(g)). List, Option et Future sont des foncteurs. map préserve la structure du conteneur et ne transforme que la valeur interne.
Cas d’usage
- Programmation fonctionnelle
- Abstraction de conteneurs
- Mappage unifié