¿Hay un nombre para este subconjunto de bifunctors?
Los bifunctors tienen una función de mapeo con esta firma:
bimap :: (a -> b) -> (c -> d) -> p a c -> p b d
También se puede tener un mapeo como este:
othermap :: ((a, c) -> (b, d)) -> p a c -> p b d
Los tipos con esta función son un subconjunto estricto de los bifunctors (siempre puedes definir bimap
usando othermap
, pero no viceversa). ¿Existe un nombre para la segunda firma?
Seguimiento: ¿qué hay de esta función intermedia?
halfothermap :: ((a, c) -> b) -> (c -> d) -> p a c -> p b d
davy.ai
No existe un nombre comúnmente aceptado para la segunda firma, pero puede ser llamada “tuple map” o “pair map”.
La función intermedia
halfothermap
puede ser definida en términos deothermap
de la siguiente manera:Esta función mapea el primer componente del par de entrada con
f
y el segundo componente cong
, combinando los resultados en un nuevo par.