Practico 4 ej 5-a

Re: Practico 4 ej 5-a

de Marcos Viera - InCo -
Número de respuestas: 0
Hola,

Los dos tipos son el mismo, porque la flecha asocia a la derecha, entonces es lo mismo poner:
mapHT :: (a → b) → (HTree a → HTree b)
que:
mapHT :: (a → b) → HTree a → HTree b

y su lectura puede ser tanto como que toma un función y un HTree y retorna un HTree, como que toma una función y retorna una función de HTree en HTree.
Lo mismo pasa con el map, donde también podemos decir que el tipo es:
map :: (a → b) → ([a] → [b])

Para entender mejor el concepto, te recomiendo repasar en el teórico de "Polimorfismo, Sobrecarga y Alto Orden" la parte de "Funciones Currificadas".

saludos