Según Wikipedia:
Vamos a C y D ser categorías. Un functor F de C a D es una asignación que
- asociados a cada objeto $X$ C un objeto $F(X)$ D,
- asociados a cada uno de los morfismos $f : X \rightarrow Y$ C un morfismos $F(f) : F(X) \rightarrow F(Y)$ en D tal que las dos condiciones siguientes:
- $F(id_X) = id_{F(X)}$ por cada objeto $X$ C
- $F(g \circ f)$ = $F(g) \circ F(f)$ para todos los morfismos $f : X \rightarrow Y$ $g : Y \rightarrow Z$ en C.
Es decir, functors debe preservar la identidad de morfismos y la composición de morfismos.
Tal vez esto es debido a mis conocimientos en programación, pero no está claro cuál es $F$ en esta definición. Se parece a una función, pero no siempre tiene argumentos diferentes: $F(X)$ – objeto, $F(f)$ – morfismos.
Parece muy inteligente la función que acepta todo tipo de argumentos y sabe lo que debe devolver en cada caso.
Por otra parte, en este libro no es uno más de la ecuación que hace que la cosa aún más complicado:
$$F(f : X \rightarrow Y) = F(f) : F(X) \rightarrow F(Y)$$
Significa que si se pasa una función de $f : X \rightarrow Y$$F$, vamos a obtener una función de $F(f) : F(X) \rightarrow F(Y)$?
También, se $F$ menciona aquí: $F(f : X \rightarrow Y)$ y aquí: $F(X)$ a dos funciones diferentes con diferentes firmas y el comportamiento?