W3cubDocs

/Haskell 8

Data.Eq

Copyright (c) The University of Glasgow 2005
License BSD-style (see the file libraries/base/LICENSE)
Maintainer [email protected]
Stability stable
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

Description

Equality

class Eq a where Source

The Eq class defines equality (==) and inequality (/=). All the basic datatypes exported by the Prelude are instances of Eq, and Eq may be derived for any datatype whose constituents are also instances of Eq.

Minimal complete definition: either == or /=.

Minimal complete definition

(==) | (/=)

Instances

Eq Bool

Methods

(==) :: Bool -> Bool -> Bool Source

(/=) :: Bool -> Bool -> Bool Source

Eq Char

Methods

(==) :: Char -> Char -> Bool Source

(/=) :: Char -> Char -> Bool Source

Eq Double

Methods

(==) :: Double -> Double -> Bool Source

(/=) :: Double -> Double -> Bool Source

Eq Float

Methods

(==) :: Float -> Float -> Bool Source

(/=) :: Float -> Float -> Bool Source

Eq Int

Methods

(==) :: Int -> Int -> Bool Source

(/=) :: Int -> Int -> Bool Source

Eq Int8

Methods

(==) :: Int8 -> Int8 -> Bool Source

(/=) :: Int8 -> Int8 -> Bool Source

Eq Int16

Methods

(==) :: Int16 -> Int16 -> Bool Source

(/=) :: Int16 -> Int16 -> Bool Source

Eq Int32

Methods

(==) :: Int32 -> Int32 -> Bool Source

(/=) :: Int32 -> Int32 -> Bool Source

Eq Int64

Methods

(==) :: Int64 -> Int64 -> Bool Source

(/=) :: Int64 -> Int64 -> Bool Source

Eq Integer
Eq Ordering
Eq Word

Methods

(==) :: Word -> Word -> Bool Source

(/=) :: Word -> Word -> Bool Source

Eq Word8

Methods

(==) :: Word8 -> Word8 -> Bool Source

(/=) :: Word8 -> Word8 -> Bool Source

Eq Word16

Methods

(==) :: Word16 -> Word16 -> Bool Source

(/=) :: Word16 -> Word16 -> Bool Source

Eq Word32

Methods

(==) :: Word32 -> Word32 -> Bool Source

(/=) :: Word32 -> Word32 -> Bool Source

Eq Word64

Methods

(==) :: Word64 -> Word64 -> Bool Source

(/=) :: Word64 -> Word64 -> Bool Source

Eq TypeRep
Eq ()

Methods

(==) :: () -> () -> Bool Source

(/=) :: () -> () -> Bool Source

Eq TyCon

Methods

(==) :: TyCon -> TyCon -> Bool Source

(/=) :: TyCon -> TyCon -> Bool Source

Eq BigNat

Methods

(==) :: BigNat -> BigNat -> Bool Source

(/=) :: BigNat -> BigNat -> Bool Source

Eq SrcLoc

Methods

(==) :: SrcLoc -> SrcLoc -> Bool Source

(/=) :: SrcLoc -> SrcLoc -> Bool Source

Eq GeneralCategory
Eq Number

Methods

(==) :: Number -> Number -> Bool Source

(/=) :: Number -> Number -> Bool Source

Eq Lexeme

Methods

(==) :: Lexeme -> Lexeme -> Bool Source

(/=) :: Lexeme -> Lexeme -> Bool Source

Eq IOMode

Methods

(==) :: IOMode -> IOMode -> Bool Source

(/=) :: IOMode -> IOMode -> Bool Source

Eq SomeSymbol
Eq SomeNat
Eq Fingerprint
Eq ArithException
Eq ErrorCall
Eq IOException
Eq MaskingState
Eq DecidedStrictness
Eq SourceStrictness
Eq SourceUnpackedness
Eq Associativity
Eq Fixity

Methods

(==) :: Fixity -> Fixity -> Bool Source

(/=) :: Fixity -> Fixity -> Bool Source

Eq Any

Methods

(==) :: Any -> Any -> Bool Source

(/=) :: Any -> Any -> Bool Source

Eq All

Methods

(==) :: All -> All -> Bool Source

(/=) :: All -> All -> Bool Source

Eq SeekMode
Eq IODeviceType
Eq CUIntMax
Eq CIntMax
Eq CUIntPtr
Eq CIntPtr
Eq CSUSeconds
Eq CUSeconds
Eq CTime

Methods

(==) :: CTime -> CTime -> Bool Source

(/=) :: CTime -> CTime -> Bool Source

Eq CClock

Methods

(==) :: CClock -> CClock -> Bool Source

(/=) :: CClock -> CClock -> Bool Source

Eq CSigAtomic
Eq CWchar

Methods

(==) :: CWchar -> CWchar -> Bool Source

(/=) :: CWchar -> CWchar -> Bool Source

Eq CSize

Methods

(==) :: CSize -> CSize -> Bool Source

(/=) :: CSize -> CSize -> Bool Source

Eq CPtrdiff
Eq CDouble
Eq CFloat

Methods

(==) :: CFloat -> CFloat -> Bool Source

(/=) :: CFloat -> CFloat -> Bool Source

Eq CULLong
Eq CLLong

Methods

(==) :: CLLong -> CLLong -> Bool Source

(/=) :: CLLong -> CLLong -> Bool Source

Eq CULong

Methods

(==) :: CULong -> CULong -> Bool Source

(/=) :: CULong -> CULong -> Bool Source

Eq CLong

Methods

(==) :: CLong -> CLong -> Bool Source

(/=) :: CLong -> CLong -> Bool Source

Eq CUInt

Methods

(==) :: CUInt -> CUInt -> Bool Source

(/=) :: CUInt -> CUInt -> Bool Source

Eq CInt

Methods

(==) :: CInt -> CInt -> Bool Source

(/=) :: CInt -> CInt -> Bool Source

Eq CUShort
Eq CShort

Methods

(==) :: CShort -> CShort -> Bool Source

(/=) :: CShort -> CShort -> Bool Source

Eq CUChar

Methods

(==) :: CUChar -> CUChar -> Bool Source

(/=) :: CUChar -> CUChar -> Bool Source

Eq CSChar

Methods

(==) :: CSChar -> CSChar -> Bool Source

(/=) :: CSChar -> CSChar -> Bool Source

Eq CChar

Methods

(==) :: CChar -> CChar -> Bool Source

(/=) :: CChar -> CChar -> Bool Source

Eq IntPtr

Methods

(==) :: IntPtr -> IntPtr -> Bool Source

(/=) :: IntPtr -> IntPtr -> Bool Source

Eq WordPtr
Eq BufferState
Eq CodingProgress
Eq NewlineMode
Eq Newline
Eq BufferMode
Eq Handle

Methods

(==) :: Handle -> Handle -> Bool Source

(/=) :: Handle -> Handle -> Bool Source

Eq IOErrorType
Eq ExitCode
Eq ArrayException
Eq AsyncException
Eq Errno

Methods

(==) :: Errno -> Errno -> Bool Source

(/=) :: Errno -> Errno -> Bool Source

Eq ThreadStatus
Eq BlockReason
Eq ThreadId
Eq Fd

Methods

(==) :: Fd -> Fd -> Bool Source

(/=) :: Fd -> Fd -> Bool Source

Eq CRLim

Methods

(==) :: CRLim -> CRLim -> Bool Source

(/=) :: CRLim -> CRLim -> Bool Source

Eq CTcflag
Eq CSpeed

Methods

(==) :: CSpeed -> CSpeed -> Bool Source

(/=) :: CSpeed -> CSpeed -> Bool Source

Eq CCc

Methods

(==) :: CCc -> CCc -> Bool Source

(/=) :: CCc -> CCc -> Bool Source

Eq CUid

Methods

(==) :: CUid -> CUid -> Bool Source

(/=) :: CUid -> CUid -> Bool Source

Eq CNlink

Methods

(==) :: CNlink -> CNlink -> Bool Source

(/=) :: CNlink -> CNlink -> Bool Source

Eq CGid

Methods

(==) :: CGid -> CGid -> Bool Source

(/=) :: CGid -> CGid -> Bool Source

Eq CSsize

Methods

(==) :: CSsize -> CSsize -> Bool Source

(/=) :: CSsize -> CSsize -> Bool Source

Eq CPid

Methods

(==) :: CPid -> CPid -> Bool Source

(/=) :: CPid -> CPid -> Bool Source

Eq COff

Methods

(==) :: COff -> COff -> Bool Source

(/=) :: COff -> COff -> Bool Source

Eq CMode

Methods

(==) :: CMode -> CMode -> Bool Source

(/=) :: CMode -> CMode -> Bool Source

Eq CIno

Methods

(==) :: CIno -> CIno -> Bool Source

(/=) :: CIno -> CIno -> Bool Source

Eq CDev

Methods

(==) :: CDev -> CDev -> Bool Source

(/=) :: CDev -> CDev -> Bool Source

Eq Lifetime
Eq Event

Methods

(==) :: Event -> Event -> Bool Source

(/=) :: Event -> Event -> Bool Source

Eq FdKey

Methods

(==) :: FdKey -> FdKey -> Bool Source

(/=) :: FdKey -> FdKey -> Bool Source

Eq TimeoutKey
Eq HandlePosn
Eq Unique

Methods

(==) :: Unique -> Unique -> Bool Source

(/=) :: Unique -> Unique -> Bool Source

Eq Version
Eq Fixity

Methods

(==) :: Fixity -> Fixity -> Bool Source

(/=) :: Fixity -> Fixity -> Bool Source

Eq ConstrRep
Eq DataRep
Eq Constr

Equality of constructors

Methods

(==) :: Constr -> Constr -> Bool Source

(/=) :: Constr -> Constr -> Bool Source

Eq Void

Methods

(==) :: Void -> Void -> Bool Source

(/=) :: Void -> Void -> Bool Source

Eq Natural
Eq SpecConstrAnnotation
Eq a => Eq [a]

Methods

(==) :: [a] -> [a] -> Bool Source

(/=) :: [a] -> [a] -> Bool Source

Eq a => Eq (Maybe a)

Methods

(==) :: Maybe a -> Maybe a -> Bool Source

(/=) :: Maybe a -> Maybe a -> Bool Source

Eq a => Eq (Ratio a)

Methods

(==) :: Ratio a -> Ratio a -> Bool Source

(/=) :: Ratio a -> Ratio a -> Bool Source

Eq (StablePtr a)

Methods

(==) :: StablePtr a -> StablePtr a -> Bool Source

(/=) :: StablePtr a -> StablePtr a -> Bool Source

Eq (Ptr a)

Methods

(==) :: Ptr a -> Ptr a -> Bool Source

(/=) :: Ptr a -> Ptr a -> Bool Source

Eq (FunPtr a)

Methods

(==) :: FunPtr a -> FunPtr a -> Bool Source

(/=) :: FunPtr a -> FunPtr a -> Bool Source

Eq (V1 p)

Methods

(==) :: V1 p -> V1 p -> Bool Source

(/=) :: V1 p -> V1 p -> Bool Source

Eq (U1 p)

Methods

(==) :: U1 p -> U1 p -> Bool Source

(/=) :: U1 p -> U1 p -> Bool Source

Eq p => Eq (Par1 p)

Methods

(==) :: Par1 p -> Par1 p -> Bool Source

(/=) :: Par1 p -> Par1 p -> Bool Source

Eq (MVar a)

Methods

(==) :: MVar a -> MVar a -> Bool Source

(/=) :: MVar a -> MVar a -> Bool Source

Eq a => Eq (Down a)

Methods

(==) :: Down a -> Down a -> Bool Source

(/=) :: Down a -> Down a -> Bool Source

Eq (IORef a)

Methods

(==) :: IORef a -> IORef a -> Bool Source

(/=) :: IORef a -> IORef a -> Bool Source

Eq a => Eq (Last a)

Methods

(==) :: Last a -> Last a -> Bool Source

(/=) :: Last a -> Last a -> Bool Source

Eq a => Eq (First a)

Methods

(==) :: First a -> First a -> Bool Source

(/=) :: First a -> First a -> Bool Source

Eq a => Eq (Product a)

Methods

(==) :: Product a -> Product a -> Bool Source

(/=) :: Product a -> Product a -> Bool Source

Eq a => Eq (Sum a)

Methods

(==) :: Sum a -> Sum a -> Bool Source

(/=) :: Sum a -> Sum a -> Bool Source

Eq a => Eq (Dual a)

Methods

(==) :: Dual a -> Dual a -> Bool Source

(/=) :: Dual a -> Dual a -> Bool Source

Eq (ForeignPtr a)
Eq (TVar a)

Methods

(==) :: TVar a -> TVar a -> Bool Source

(/=) :: TVar a -> TVar a -> Bool Source

Eq a => Eq (ZipList a)

Methods

(==) :: ZipList a -> ZipList a -> Bool Source

(/=) :: ZipList a -> ZipList a -> Bool Source

Eq (Chan a)

Methods

(==) :: Chan a -> Chan a -> Bool Source

(/=) :: Chan a -> Chan a -> Bool Source

Eq (StableName a)
Eq a => Eq (Complex a)

Methods

(==) :: Complex a -> Complex a -> Bool Source

(/=) :: Complex a -> Complex a -> Bool Source

Eq (Fixed a)

Methods

(==) :: Fixed a -> Fixed a -> Bool Source

(/=) :: Fixed a -> Fixed a -> Bool Source

Eq a => Eq (NonEmpty a)

Methods

(==) :: NonEmpty a -> NonEmpty a -> Bool Source

(/=) :: NonEmpty a -> NonEmpty a -> Bool Source

Eq a => Eq (Option a)

Methods

(==) :: Option a -> Option a -> Bool Source

(/=) :: Option a -> Option a -> Bool Source

Eq m => Eq (WrappedMonoid m)
Eq a => Eq (Last a)

Methods

(==) :: Last a -> Last a -> Bool Source

(/=) :: Last a -> Last a -> Bool Source

Eq a => Eq (First a)

Methods

(==) :: First a -> First a -> Bool Source

(/=) :: First a -> First a -> Bool Source

Eq a => Eq (Max a)

Methods

(==) :: Max a -> Max a -> Bool Source

(/=) :: Max a -> Max a -> Bool Source

Eq a => Eq (Min a)

Methods

(==) :: Min a -> Min a -> Bool Source

(/=) :: Min a -> Min a -> Bool Source

Eq a => Eq (Identity a)

Methods

(==) :: Identity a -> Identity a -> Bool Source

(/=) :: Identity a -> Identity a -> Bool Source

(Eq a, Eq b) => Eq (Either a b)

Methods

(==) :: Either a b -> Either a b -> Bool Source

(/=) :: Either a b -> Either a b -> Bool Source

Eq (f p) => Eq (Rec1 f p)

Methods

(==) :: Rec1 f p -> Rec1 f p -> Bool Source

(/=) :: Rec1 f p -> Rec1 f p -> Bool Source

Eq (URec Char p)

Methods

(==) :: URec Char p -> URec Char p -> Bool Source

(/=) :: URec Char p -> URec Char p -> Bool Source

Eq (URec Double p)

Methods

(==) :: URec Double p -> URec Double p -> Bool Source

(/=) :: URec Double p -> URec Double p -> Bool Source

Eq (URec Float p)

Methods

(==) :: URec Float p -> URec Float p -> Bool Source

(/=) :: URec Float p -> URec Float p -> Bool Source

Eq (URec Int p)

Methods

(==) :: URec Int p -> URec Int p -> Bool Source

(/=) :: URec Int p -> URec Int p -> Bool Source

Eq (URec Word p)

Methods

(==) :: URec Word p -> URec Word p -> Bool Source

(/=) :: URec Word p -> URec Word p -> Bool Source

Eq (URec (Ptr ()) p)

Methods

(==) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source

(/=) :: URec (Ptr ()) p -> URec (Ptr ()) p -> Bool Source

(Eq a, Eq b) => Eq (a, b)

Methods

(==) :: (a, b) -> (a, b) -> Bool Source

(/=) :: (a, b) -> (a, b) -> Bool Source

Eq (STRef s a)

Methods

(==) :: STRef s a -> STRef s a -> Bool Source

(/=) :: STRef s a -> STRef s a -> Bool Source

Eq (Proxy k s)

Methods

(==) :: Proxy k s -> Proxy k s -> Bool Source

(/=) :: Proxy k s -> Proxy k s -> Bool Source

Eq a => Eq (Arg a b)

Methods

(==) :: Arg a b -> Arg a b -> Bool Source

(/=) :: Arg a b -> Arg a b -> Bool Source

Eq c => Eq (K1 i c p)

Methods

(==) :: K1 i c p -> K1 i c p -> Bool Source

(/=) :: K1 i c p -> K1 i c p -> Bool Source

(Eq (f p), Eq (g p)) => Eq ((:+:) f g p)

Methods

(==) :: (f :+: g) p -> (f :+: g) p -> Bool Source

(/=) :: (f :+: g) p -> (f :+: g) p -> Bool Source

(Eq (f p), Eq (g p)) => Eq ((:*:) f g p)

Methods

(==) :: (f :*: g) p -> (f :*: g) p -> Bool Source

(/=) :: (f :*: g) p -> (f :*: g) p -> Bool Source

Eq (f (g p)) => Eq ((:.:) f g p)

Methods

(==) :: (f :.: g) p -> (f :.: g) p -> Bool Source

(/=) :: (f :.: g) p -> (f :.: g) p -> Bool Source

(Eq a, Eq b, Eq c) => Eq (a, b, c)

Methods

(==) :: (a, b, c) -> (a, b, c) -> Bool Source

(/=) :: (a, b, c) -> (a, b, c) -> Bool Source

Eq ((:~:) k a b)

Methods

(==) :: (k :~: a) b -> (k :~: a) b -> Bool Source

(/=) :: (k :~: a) b -> (k :~: a) b -> Bool Source

Eq (Coercion k a b)

Methods

(==) :: Coercion k a b -> Coercion k a b -> Bool Source

(/=) :: Coercion k a b -> Coercion k a b -> Bool Source

Eq (f a) => Eq (Alt k f a)

Methods

(==) :: Alt k f a -> Alt k f a -> Bool Source

(/=) :: Alt k f a -> Alt k f a -> Bool Source

Eq a => Eq (Const k a b)

Methods

(==) :: Const k a b -> Const k a b -> Bool Source

(/=) :: Const k a b -> Const k a b -> Bool Source

Eq (f p) => Eq (M1 i c f p)

Methods

(==) :: M1 i c f p -> M1 i c f p -> Bool Source

(/=) :: M1 i c f p -> M1 i c f p -> Bool Source

(Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)

Methods

(==) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source

(/=) :: (a, b, c, d) -> (a, b, c, d) -> Bool Source

(Eq1 f, Eq1 g, Eq a) => Eq (Product * f g a)

Methods

(==) :: Product * f g a -> Product * f g a -> Bool Source

(/=) :: Product * f g a -> Product * f g a -> Bool Source

(Eq1 f, Eq1 g, Eq a) => Eq (Sum * f g a)

Methods

(==) :: Sum * f g a -> Sum * f g a -> Bool Source

(/=) :: Sum * f g a -> Sum * f g a -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)

Methods

(==) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source

(/=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Source

(Eq1 f, Eq1 g, Eq a) => Eq (Compose * * f g a)

Methods

(==) :: Compose * * f g a -> Compose * * f g a -> Bool Source

(/=) :: Compose * * f g a -> Compose * * f g a -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq (a, b, c, d, e, f)

Methods

(==) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source

(/=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq (a, b, c, d, e, f, g)

Methods

(==) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source

(/=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h) => Eq (a, b, c, d, e, f, g, h)

Methods

(==) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i) => Eq (a, b, c, d, e, f, g, h, i)

Methods

(==) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j) => Eq (a, b, c, d, e, f, g, h, i, j)

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k) => Eq (a, b, c, d, e, f, g, h, i, j, k)

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l) => Eq (a, b, c, d, e, f, g, h, i, j, k, l)

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l, Eq m) => Eq (a, b, c, d, e, f, g, h, i, j, k, l, m)

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l, Eq m, Eq n) => Eq (a, b, c, d, e, f, g, h, i, j, k, l, m, n)

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Bool Source

(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l, Eq m, Eq n, Eq o) => Eq (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)

Methods

(==) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool Source

(/=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Bool Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.0.1/docs/html/libraries/base-4.9.0.0/Data-Eq.html