Nuevo en Haskell lo siento si esto es muy básicodeterminar el comportamiento de la función del tipo de la función
Este ejemplo está tomado de "Real World Haskell" -
ghci> :type fst
fst :: (a, b) -> a
Ellos muestran el tipo de fst
función y luego seguir con este párrafo ...
"el tipo de resultado de fst
es a
. ya hemos mencionado que el polimorfismo paramétrico hace que el r Tipo eal inaccesibles: fst
no tiene suficiente información para construir un valor de tipo a
, ni puede convertir una a
en un b
. Entonces, el único comportamiento válido posible (omitir bucles infinitos o bloqueos) que puede tener es devolver el primer elemento del par. "
Siento que me falta el punto fundamental del párrafo, y tal vez algo importante sobre Haskell . ¿Por qué no la fst
función de tipo de retorno b
? ¿Por qué no podía tomar la tupla como un parámetro, sino simplemente devolver un Int
(o cualquier otro tipo que no es a
)? no entiendo por qué DEBE devolver el tipo a
?
Gracias
Antes de terminar el capítulo 2 de RWH? – ehird
Es un artículo gratuito, jajaja –
@ehird que quería una explicación en profundidad, así que aquí está. La explicación básica de agitar la mano ya ha sido dada por otras personas – nponeccop