Я простая функция, определенные ниже:Haskell - перегрузка числовых типов
allZero :: Num a => [a]-> Bool
allZero [] = False
allZero xs = and (map (== 0) xs)
Это возвращает сообщение об ошибке при загрузке:
Не удался вывести (Num а), возникающих из буквального ` 0 '
В чем проблема с этой функцией? Как увеличить число 0 до любого числового типа a?
Поскольку место 'Num' в иерархии классов типов изменилось (некоторое время назад), возможно, стоит указать, какую версию GHC вы используете. – Jubobs
Кстати, я бы ожидал, что 'allZero []' вернет true. Вы также можете использовать 'all (== 0) xs' вместо' and (map (== 0) xs) '. – chi