¿Cuál es la definición de Funcional Aplicativo de la teoría de categorías POV?
Pude asignar la definición de Functor de la teoría de categorías a la definición de Haskell de la siguiente manera: desde objetos deHask
son tipos, el functorF
a
deHask
al nuevo tipoF a
diciendo, más o menos, anteponiendo "F".mapea cada morfismoa -> b
deHask
al nuevo morfismoF a -> F b
utilizandofmap :: (a -> b) -> (f a -> f b)
.Hasta aquí todo bien. Ahora llego alApplicative
, y no puedo encontrar ninguna mención de tal concepto en los libros de texto. Al observar lo que agrega aFunctor
, ap :: f (a -> b) -> f a -> f b
Traté de llegar a mi propia definición.
Primero, noté que desde(->)
También es un tipo, morfismos deHask
son objetos de eso también. A la luz de esto, sugerí que el functor aplicativo es un functor que también puede mapear objetos de "flecha" de la categoría fuente en morfismos del destino.
¿Es esta una intuición correcta? ¿Puede proporcionar una definición más formal y rigurosa?