Funtor
Funtor
Un funtor \(F\) es una transformación para tipos y funciones. Por ejemplo si tenemos una función \(f: A \rightarrow B\) entonces \(F.f:F.A\rightarrow F.B\). Podemos dibujar un cuadrado representando esta equivalencia.7
Cada una de las transformaciones que puede realizar \(F\) se denomina \(F\)-co-álgebra, ej. \(\psi: X \rightarrow F.X\). Las transformaciones contrarias se denominan \(F\)-álgebra, ej. \(\rho: F.X \rightarrow X\).
La transformación que aplica un funtor a tipos y funciones está directamente relacionada, solo aplica \(f\) donde aparezca \(X\) en su transformación de tipo. Así por ejemplo en listas \(F.X = 1+A\times X\) y \(F.f = id + id \times f\).