Hola, haciendo los ejercicios de repaso nos surgieron las siguientes dudas:
Dadas las siguientes definiciones:
class Dummy a where dummy :: a
instance Dummy Char where dummy = 'a'
pre cs = (dummy, dummy : '-' : cs)
¿Cuál de las siguientes afirmaciones es correcta?
Seleccione una:
a. No compila.
b. El tipo de pre es pre :: Dummy a => [Char] -> (a, [Char])
c. El tipo de pre es pre :: [Char] -> (a, [Char])
d. El tipo de pre es pre :: Dummy a => [a] -> (a, [a])
e. El tipo de pre es pre :: (Dummy a, Dummy Char) => [Char] -> (a, [Char])
En este caso la respuesta correcta es la b.
En cambio en este ejercicio:
class Dummy a where dummy :: a
instance Dummy Char where dummy = 'a'
pre cs = dummy : '-' : cs
¿Cuál de las siguientes afirmaciones es correcta?
Seleccione una:
a. No compila.
b. El tipo de pre es pre :: [Char] -> [Char]
c. El tipo de pre es pre :: Dummy a => [a] -> [a]
d. El tipo de pre es pre :: Dummy a => [Char] -> [Char]
e. El tipo de pre es pre :: Dummy Char => [Char] -> [Char]
En este ejercicio la opcion correcta es la b.
No me estaria quedando claro porque las respuestas son esas.
Agradezco explicacion. Saludos. y gracias