generic-deriving-1.12.4: Generic programming library for generalised deriving.

Safe Haskell | Trustworthy
Language | Haskell2010

Generics.Deriving.Eq

Contents

- Generic Eq class
- Default definition
- Internal Eq class

Synopsis

- class GEq a where
  - geq :: a -> a -> Bool
- geqdefault :: (Generic a, GEq' (Rep a)) => a -> a -> Bool
- class GEq' f where
  - geq' :: f a -> f a -> Bool

# Generic Eq class

class GEq a where Source #

Minimal complete definition

Nothing

Methods

geq :: a -> a -> Bool Source #

geq :: (Generic a, GEq' (Rep a)) => a -> a -> Bool Source #

Instances

GEq Bool Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Bool -> Bool -> Bool Source #
GEq Char Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Char -> Char -> Bool Source #
GEq Double Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Double -> Double -> Bool Source #
GEq Float Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Float -> Float -> Bool Source #
GEq Int Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Int -> Int -> Bool Source #
GEq Int8 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Int8 -> Int8 -> Bool Source #
GEq Int16 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Int16 -> Int16 -> Bool Source #
GEq Int32 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Int32 -> Int32 -> Bool Source #
GEq Int64 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Int64 -> Int64 -> Bool Source #
GEq Integer Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Integer -> Integer -> Bool Source #
GEq Natural Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Natural -> Natural -> Bool Source #
GEq Ordering Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Ordering -> Ordering -> Bool Source #
GEq Word Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Word -> Word -> Bool Source #
GEq Word8 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Word8 -> Word8 -> Bool Source #
GEq Word16 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Word16 -> Word16 -> Bool Source #
GEq Word32 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Word32 -> Word32 -> Bool Source #
GEq Word64 Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Word64 -> Word64 -> Bool Source #
GEq () Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: () -> () -> Bool Source #
GEq Handle Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Handle -> Handle -> Bool Source #
GEq Void Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Void -> Void -> Bool Source #
GEq Version Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Version -> Version -> Bool Source #
GEq HandlePosn Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: HandlePosn -> HandlePosn -> Bool Source #
GEq CDev Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CDev -> CDev -> Bool Source #
GEq CIno Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CIno -> CIno -> Bool Source #
GEq CMode Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CMode -> CMode -> Bool Source #
GEq COff Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: COff -> COff -> Bool Source #
GEq CPid Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CPid -> CPid -> Bool Source #
GEq CSsize Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CSsize -> CSsize -> Bool Source #
GEq CGid Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CGid -> CGid -> Bool Source #
GEq CNlink Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CNlink -> CNlink -> Bool Source #
GEq CUid Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CUid -> CUid -> Bool Source #
GEq CCc Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CCc -> CCc -> Bool Source #
GEq CSpeed Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CSpeed -> CSpeed -> Bool Source #
GEq CTcflag Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CTcflag -> CTcflag -> Bool Source #
GEq CRLim Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CRLim -> CRLim -> Bool Source #
GEq CBlkSize Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CBlkSize -> CBlkSize -> Bool Source #
GEq CBlkCnt Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CBlkCnt -> CBlkCnt -> Bool Source #
GEq CClockId Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CClockId -> CClockId -> Bool Source #
GEq CFsBlkCnt Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CFsBlkCnt -> CFsBlkCnt -> Bool Source #
GEq CFsFilCnt Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CFsFilCnt -> CFsFilCnt -> Bool Source #
GEq CId Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CId -> CId -> Bool Source #
GEq CKey Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CKey -> CKey -> Bool Source #
GEq CTimer Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CTimer -> CTimer -> Bool Source #
GEq Fd Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Fd -> Fd -> Bool Source #
GEq Errno Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Errno -> Errno -> Bool Source #
GEq ExitCode Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: ExitCode -> ExitCode -> Bool Source #
GEq IOErrorType Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: IOErrorType -> IOErrorType -> Bool Source #
GEq BufferMode Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: BufferMode -> BufferMode -> Bool Source #
GEq SeekMode Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: SeekMode -> SeekMode -> Bool Source #
GEq IOError Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: IOError -> IOError -> Bool Source #
GEq All Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: All -> All -> Bool Source #
GEq Any Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Any -> Any -> Bool Source #
GEq Fixity Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Fixity -> Fixity -> Bool Source #
GEq Associativity Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Associativity -> Associativity -> Bool Source #
GEq SourceUnpackedness Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: SourceUnpackedness -> SourceUnpackedness -> Bool Source #
GEq SourceStrictness Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: SourceStrictness -> SourceStrictness -> Bool Source #
GEq DecidedStrictness Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: DecidedStrictness -> DecidedStrictness -> Bool Source #
GEq CChar Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CChar -> CChar -> Bool Source #
GEq CSChar Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CSChar -> CSChar -> Bool Source #
GEq CUChar Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CUChar -> CUChar -> Bool Source #
GEq CShort Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CShort -> CShort -> Bool Source #
GEq CUShort Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CUShort -> CUShort -> Bool Source #
GEq CInt Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CInt -> CInt -> Bool Source #
GEq CUInt Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CUInt -> CUInt -> Bool Source #
GEq CLong Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CLong -> CLong -> Bool Source #
GEq CULong Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CULong -> CULong -> Bool Source #
GEq CLLong Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CLLong -> CLLong -> Bool Source #
GEq CULLong Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CULLong -> CULLong -> Bool Source #
GEq CBool Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CBool -> CBool -> Bool Source #
GEq CFloat Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CFloat -> CFloat -> Bool Source #
GEq CDouble Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CDouble -> CDouble -> Bool Source #
GEq CPtrdiff Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CPtrdiff -> CPtrdiff -> Bool Source #
GEq CSize Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CSize -> CSize -> Bool Source #
GEq CWchar Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CWchar -> CWchar -> Bool Source #
GEq CSigAtomic Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CSigAtomic -> CSigAtomic -> Bool Source #
GEq CClock Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CClock -> CClock -> Bool Source #
GEq CTime Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CTime -> CTime -> Bool Source #
GEq CUSeconds Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CUSeconds -> CUSeconds -> Bool Source #
GEq CSUSeconds Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CSUSeconds -> CSUSeconds -> Bool Source #
GEq CIntPtr Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CIntPtr -> CIntPtr -> Bool Source #
GEq CUIntPtr Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CUIntPtr -> CUIntPtr -> Bool Source #
GEq CIntMax Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CIntMax -> CIntMax -> Bool Source #
GEq CUIntMax Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: CUIntMax -> CUIntMax -> Bool Source #
GEq WordPtr Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: WordPtr -> WordPtr -> Bool Source #
GEq IntPtr Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: IntPtr -> IntPtr -> Bool Source #
GEq IOMode Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: IOMode -> IOMode -> Bool Source #
GEq GeneralCategory Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: GeneralCategory -> GeneralCategory -> Bool Source #
GEq a => GEq [a] Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: [a] -> [a] -> Bool Source #
GEq a => GEq (Maybe a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Maybe a -> Maybe a -> Bool Source #
GEq (StablePtr a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: StablePtr a -> StablePtr a -> Bool Source #
GEq (Ptr a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Ptr a -> Ptr a -> Bool Source #
GEq (FunPtr a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: FunPtr a -> FunPtr a -> Bool Source #
GEq p => GEq (Par1 p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Par1 p -> Par1 p -> Bool Source #
GEq (ForeignPtr a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: ForeignPtr a -> ForeignPtr a -> Bool Source #
GEq a => GEq (Complex a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Complex a -> Complex a -> Bool Source #
GEq a => GEq (Min a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Min a -> Min a -> Bool Source #
GEq a => GEq (Max a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Max a -> Max a -> Bool Source #
GEq a => GEq (First a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: First a -> First a -> Bool Source #
GEq a => GEq (Last a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Last a -> Last a -> Bool Source #
GEq m => GEq (WrappedMonoid m) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: WrappedMonoid m -> WrappedMonoid m -> Bool Source #
GEq a => GEq (Option a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Option a -> Option a -> Bool Source #
GEq a => GEq (ZipList a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: ZipList a -> ZipList a -> Bool Source #
GEq a => GEq (Identity a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Identity a -> Identity a -> Bool Source #
GEq a => GEq (First a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: First a -> First a -> Bool Source #
GEq a => GEq (Last a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Last a -> Last a -> Bool Source #
GEq a => GEq (Dual a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Dual a -> Dual a -> Bool Source #
GEq a => GEq (Sum a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Sum a -> Sum a -> Bool Source #
GEq a => GEq (Product a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Product a -> Product a -> Bool Source #
GEq a => GEq (Down a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Down a -> Down a -> Bool Source #
GEq a => GEq (NonEmpty a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: NonEmpty a -> NonEmpty a -> Bool Source #
(Generic a, GEq' (Rep a)) => GEq (Default a) Source # |
Instance details Defined in Generics.Deriving.Default Methods geq :: Default a -> Default a -> Bool Source #
(GEq a, GEq b) => GEq (Either a b) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Either a b -> Either a b -> Bool Source #
GEq (U1 p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: U1 p -> U1 p -> Bool Source #
GEq (UAddr p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: UAddr p -> UAddr p -> Bool Source #
GEq (UChar p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: UChar p -> UChar p -> Bool Source #
GEq (UDouble p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: UDouble p -> UDouble p -> Bool Source #
GEq (UFloat p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: UFloat p -> UFloat p -> Bool Source #
GEq (UInt p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: UInt p -> UInt p -> Bool Source #
GEq (UWord p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: UWord p -> UWord p -> Bool Source #
(GEq a, GEq b) => GEq (a, b) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (a, b) -> (a, b) -> Bool Source #
GEq a => GEq (Arg a b) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Arg a b -> Arg a b -> Bool Source #
GEq (Proxy s) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Proxy s -> Proxy s -> Bool Source #
GEq (f p) => GEq (Rec1 f p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Rec1 f p -> Rec1 f p -> Bool Source #
(GEq a, GEq b, GEq c) => GEq (a, b, c) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (a, b, c) -> (a, b, c) -> Bool Source #
GEq a => GEq (Const a b) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Const a b -> Const a b -> Bool Source #
GEq (f a) => GEq (Alt f a) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: Alt f a -> Alt f a -> Bool Source #
GEq c => GEq (K1 i c p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: K1 i c p -> K1 i c p -> Bool Source #
(GEq (f p), GEq (g p)) => GEq ((f :+: g) p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (f :+: g) p -> (f :+: g) p -> Bool Source #
(GEq (f p), GEq (g p)) => GEq ((f :*: g) p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (f :*: g) p -> (f :*: g) p -> Bool Source #
(GEq a, GEq b, GEq c, GEq d) => GEq (a, b, c, d) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (a, b, c, d) -> (a, b, c, d) -> Bool Source #
GEq (f p) => GEq (M1 i c f p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: M1 i c f p -> M1 i c f p -> Bool Source #
GEq (f (g p)) => GEq ((f :.: g) p) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (f :.: g) p -> (f :.: g) p -> Bool Source #
(GEq a, GEq b, GEq c, GEq d, GEq e) => GEq (a, b, c, d, e) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source #
(GEq a, GEq b, GEq c, GEq d, GEq e, GEq f) => GEq (a, b, c, d, e, f) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source #
(GEq a, GEq b, GEq c, GEq d, GEq e, GEq f, GEq g) => GEq (a, b, c, d, e, f, g) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source #

# Default definition

geqdefault :: (Generic a, GEq' (Rep a)) => a -> a -> Bool Source #

# Internal Eq class

class GEq' f where Source #

Methods

geq' :: f a -> f a -> Bool Source #

Instances

GEq' (UWord :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: UWord a -> UWord a -> Bool Source #
GEq' (UInt :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: UInt a -> UInt a -> Bool Source #
GEq' (UFloat :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: UFloat a -> UFloat a -> Bool Source #
GEq' (UDouble :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: UDouble a -> UDouble a -> Bool Source #
GEq' (UChar :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: UChar a -> UChar a -> Bool Source #
GEq' (UAddr :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: UAddr a -> UAddr a -> Bool Source #
GEq' (U1 :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: U1 a -> U1 a -> Bool Source #
GEq' (V1 :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: V1 a -> V1 a -> Bool Source #
(GEq' a, GEq' b) => GEq' (a :*: b :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: (a :*: b) a0 -> (a :*: b) a0 -> Bool Source #
(GEq' a, GEq' b) => GEq' (a :+: b :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: (a :+: b) a0 -> (a :+: b) a0 -> Bool Source #
GEq c => GEq' (K1 i c :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: K1 i c a -> K1 i c a -> Bool Source #
GEq' a => GEq' (M1 i c a :: k -> Type) Source # |
Instance details Defined in Generics.Deriving.Eq Methods geq' :: M1 i c a a0 -> M1 i c a a0 -> Bool Source #