При решении задачки из учебника
data BinTree a = Leaf a | Branch (BinTree a) (BinTree a)
reverse :: BinTree a -> BinTree a
reverse (Leaf a) = Leaf a
reverse (Branch a b) = Branch (reverse b ) (reverse a )
-- reverse (Branch a b) = Branch (reverse :: (BinTree a -> BinTree a) b ) (reverse :: (BinTree a -> BinTree a) a )
-- reverse (Branch a b) = Branch (reverse b :: (BinTree x)) (reverse a :: (BinTree x))
ghci при загрузке модуля, как бы я не пытался ему намекнуть типы, мне говорит одно и то же
Nat.hs:50:32:
Ambiguous occurrence `reverse'
It could refer to either `Nat.reverse', defined at Nat.hs:47:1
or `Prelude.reverse',
imported from `Prelude' at Nat.hs:1:8-10
(and originally defined in `GHC.List')
Nat.hs:50:59:
Ambiguous occurrence `reverse'
It could refer to either `Nat.reverse', defined at Nat.hs:47:1
or `Prelude.reverse',
imported from `Prelude' at Nat.hs:1:8-10
(and originally defined in `GHC.List')
Failed, modules loaded: none.
как с этим справится не отключая reverse из Prelude, а что бы была перегрузка функции?
Перемещено beastie из general