Generics.Deriving.Eq

generic-deriving-1.14.6: 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 :: k -> Type) where
  - geq' :: forall (a :: k). f a -> f a -> Bool

# Generic Eq class

class GEq a where #

Minimal complete definition

Nothing

Methods

geq :: a -> a -> Bool #

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

#### Instances

Instances details

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

# Default definition

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

# Internal Eq class

class GEq' (f :: k -> Type) where #

Methods

geq' :: forall (a :: k). f a -> f a -> Bool #

#### Instances

Instances details

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