Auto evaluacion Tipos Algebraicos

Auto evaluacion Tipos Algebraicos

de Rodrigo Alain De La Vega Rodriguez -
Número de respuestas: 0

Buenas! En una de las preguntas se da la siguiente definición:

foo :: Read a => a -> (a,a)
foo x = (x, read "9")

Lo que me paso con esta definición es que al momento de ir descartando entre las opciones posibles me encontré con 
foo 'a' es ('a', '9') y nunca entendí por que esto al evaluarlo da una excepción en tiempo de ejecución.

Me podrían explicar eso.

Gracias!