У меня есть файл вс, пытаясь перегрузить & & оператораПерегрузка глобального && оператора в Haskell не удается скомпилировать
(&&)::Bool->Bool->Bool
True && x = x
False && _ = False
and' :: (Bool)->Bool
and' xs=foldr (&&) True xs
При импорте в Prelude, есть ошибка:
Ambiguous occurrence ‘&&’
It could refer to either ‘Main.&&’, defined at D:\baby.hs:2:6
or ‘Prelude.&&’,
imported from ‘Prelude’ at D:\baby.hs:1:1
(and originally defined in ‘GHC.Classes’)
Я изменил последнюю строку на
and' xs=foldr (Main.&&) True xs
Теперь он печатает новый номер ror:
Couldn't match expected type ‘t0 Bool’ with actual type ‘Bool’
In the third argument of ‘foldr’, namely ‘xs’
In the expression: foldr (Main.&&) True xs
Как решить эту проблему? Благодарю.
Тип 'xs' должен быть' [Bool] ', но не' (Bool) '. – zakyggaps