Распечатать пустой список в Haksell

Вот кусок кода:

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

Когда я компилирую это с GHC, я получаю следующую ошибку:

[1 из 1] Компиляция Main (problem5_myReverse.hs, problem5_myReverse.o) problem5_myReverse.hs: 6: 8: Нет экземпляра для (Показать a0), возникающего в результате использованияprint' The type variablea0 'является неоднозначным Возможное исправление: добавьте сигнатуру типа, которая исправляет эти переменные типа Примечание: есть несколько потенциальных экземпляров: экземпляр Show Double - Определено вGHC.Float' instance Show Float -- Defined inGHC.Float 'instance (Integral a, Show a) => Show (GHC.Real.Ratio a) - определено вGHC.Real' ...plus 23 others In the expression: print (myReverse []) In an equation formain ': main = print (myReverse [])

Но когда я меняю подпись сmyReverse::[a]->[a] вmyReverse::[Int]->[Int] исходный код скомпилирован без проблем

Может кто-нибудь сказать, как я могу сохранить общую подпись[a] -> [a] но заставить его работать для пустых списков целых чисел?

Ответы на вопрос(1)

Ваш ответ на вопрос