instance declarations: существует ли механизм, который заставить подавить ошибку, например приняв локально определенный инстанс вместо уже определенного в ghc-prim?
newtype
overlapping?
я пытаюсь тупо переопределить инстанс Eq для кортежа (навеяно упражнением из книжки): instance (Eq a, Eq b) => Eq (a, b) where (==) = undefined как здесь поможет newtype?
newtype X a b = X ((,) a b)
instance {-# OVERLAPS #-} (Eq a) => Eq (a, a) where (==) = undefined instance {-# OVERLAPS #-} (Eq a, Eq b) => Eq (a, b) where (==) = undefined
Обсуждают сегодня