Imprimir lista vacía en Haksell
Aquí está el fragmento de código:
import System.Environment
myReverse :: [a] -> [a]
myReverse [] = []
main = print (myReverse [])
Cuando compilo eso con GHC me sale el siguiente error:
[1 de 1] Compilando Main (problem5_myReverse.hs, problem5_myReverse.o) problem5_myReverse.hs: 6: 8: Ninguna instancia para (Mostrar a0) derivada del uso deprint' The type variable
a0 'es ambiguo Posible solución: agregue una firma de tipo que corrija estas variables de tipo Nota: hay varias instancias potenciales: instancia Show Double - Defined inGHC.Float' instance Show Float -- Defined in
GHC.Float 'instance (Integral a, Show a) => Show (GHC.Real.Ratio a) - Definido enGHC.Real' ...plus 23 others In the expression: print (myReverse []) In an equation for
main ': main = print (myReverse [])
Pero cuando cambio la firma demyReverse::[a]->[a]
amyReverse::[Int]->[Int]
el código fuente se compila sin problemas
¿Alguien puede decir cómo puedo mantener la firma general[a] -> [a]
pero hacer que funcione para listas enteras vacías?