Functor
Un functor es un constructor de tipos con una operación map que aplica una función al valor dentro de un contenedor sin cambiar la estructura del contenedor.
Propósito
Unificar el mapeo como abstracción, base de las mónadas, y dar soporte a la transformación dentro del contenedor.
Mecanismo
F<T> proporciona map: F<T> × (T→U) → F<U>. Satisface la ley de identidad (map(id) = id) y la ley de composición (map(f∘g) = map(f)∘map(g)). List, Option y Future son functors. map preserva la estructura del contenedor y solo transforma el valor interno.
Casos de uso
- Programación funcional
- Abstracción de contenedores
- Mapeo unificado