Functor
Ein Functor ist ein Typkonstruktor mit einer map-Operation, die eine Funktion auf den Wert in einem Container anwendet, ohne die Struktur des Containers zu verändern.
Zweck
Mapping als Abstraktion vereinheitlichen, als Grundlage der Monaden dienen und Transformation innerhalb des Containers unterstützen.
Mechanismus
F<T> stellt map bereit: F<T> × (T→U) → F<U>. Es erfüllt das Identitätsgesetz (map(id) = id) und das Kompositionsgesetz (map(f∘g) = map(f)∘map(g)). List, Option und Future sind Functoren. map erhält die Containerstruktur und transformiert nur den inneren Wert.
Anwendungsfälle
- Funktionale Programmierung
- Container-Abstraktion
- Vereinheitlichtes Mapping