Leere Liste in Haksell drucken

Hier ist der Code:

import System.Environment 
myReverse :: [a] -> [a]
myReverse [] = []
main = print (myReverse [])

Wenn ich das mit GHC kompiliere, erhalte ich den folgenden Fehler:

[1 von 1] Compiling Main (problem5_myReverse.hs, problem5_myReverse.o) problem5_myReverse.hs: 6: 8: Keine Instanz für (Show a0), die aus einer Verwendung von entstehtprint' The type variablea0 'ist nicht eindeutig. Mögliche Fehlerbehebung: Fügen Sie eine Typensignatur hinzu, die diese Typvariablen behebt. Hinweis: Es gibt mehrere potenzielle Instanzen: instance Show Double - Defined inGHC.Float' instance Show Float -- Defined inGHC.Float 'Instanz (Integral a, Show a) => Show (GHC.Real.Ratio a) - Definiert inGHC.Real' ...plus 23 others In the expression: print (myReverse []) In an equation formain ': main = print (myReverse [])

Aber wenn ich die Signatur von änderemyReverse::[a]->[a] zumyReverse::[Int]->[Int] Der Quellcode wird ohne Probleme kompiliert

Kann jemand sagen, wie ich die allgemeine Unterschrift behalten kann[a] -> [a] aber damit es für leere Integer-Listen funktioniert?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage