Duda ejercicio autoevaluación Definiciones

Re: Duda ejercicio autoevaluación Definiciones

de Germán Ferrari -
Número de respuestas: 0

De la expresión `foldr (.) id (map filter ps)` ya podés sacar que:

  • `f = (.)`
  • `e = id`
  • `(map filter ps)` es la lista que se pasa como entrada al `foldr`.
Una dificultad de este ejercicio es hacerse una idea de qué lista es `map filter ps`.
Podemos ayudarnos con los tipos de `map` y `filter`:
  • `map :: (a -> b) -> [a] -> [b]`
  • `filter :: (a -> Bool) -> [a] -> [a]`
¿Cuál es el tipo de `map filter`? Notar que se está usando `filter` como la función que se pasa como primer argumento de `map`.
Con eso podés inferir que tipo tiene que tener `ps`. Y con eso podés deducir el tipo de `raro`.

¿Qué tipo tiene `raro ps`?