es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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
Tags:  , , , ,

Answer

  1. Avatar for 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 de othermap de la siguiente manera:

    halfothermap f g = othermap (\(a,c) -> (f (a,c), g c))
    

    Esta función mapea el primer componente del par de entrada con f y el segundo componente con g, combinando los resultados en un nuevo par.

Comments are closed.