module Data.Ring ( (<<) , (><) , (<>) , negate , Ring(..) ) where import Data.Group import Data.Semiring import Prelude hiding (Num(..)) class (Group a, Semiring a) => Ring a where {-# MINIMAL abs, signum #-} abs :: a -> a signum :: a -> a -- satisfies trichotomy law