| Copyright | (c) The University of Glasgow 2005 |
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) |
| Maintainer | libraries@haskell.org |
| Stability | stable |
| Portability | portable |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Data.Eq
Description
Equality
Documentation
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.
The Haskell Report defines no laws for Eq. However, == is customarily
expected to implement an equivalence relationship where two values comparing
equal are indistinguishable by "public" functions, with a "public" function
being one not allowing to see implementation details. For example, for a
type representing non-normalised natural numbers modulo 100, a "public"
function doesn't make the difference between 1 and 201. It is expected to
have the following properties:
Instances
| Eq Bool | |
| Eq Char | |
| Eq Double | Note that due to the presence of
Also note that
|
| Eq Float | Note that due to the presence of
Also note that
|
| Eq Int | |
| Eq Int8 Source # | Since: 2.1 |
| Eq Int16 Source # | Since: 2.1 |
| Eq Int32 Source # | Since: 2.1 |
| Eq Int64 Source # | Since: 2.1 |
| Eq Integer | |
| Eq Natural Source # | Since: 4.8.0.0 |
| Eq Ordering | |
| Eq Word | |
| Eq Word8 Source # | Since: 2.1 |
| Eq Word16 Source # | Since: 2.1 |
| Eq Word32 Source # | Since: 2.1 |
| Eq Word64 Source # | Since: 2.1 |
| Eq SomeTypeRep Source # | |
Defined in Data.Typeable.Internal | |
| Eq () | |
| Eq TyCon | |
| Eq Module | |
| Eq TrName | |
| Eq BigNat | |
| Eq SrcLoc Source # | Since: 4.9.0.0 |
| Eq GeneralCategory Source # | Since: 2.1 |
Defined in GHC.Unicode Methods (==) :: GeneralCategory -> GeneralCategory -> Bool # (/=) :: GeneralCategory -> GeneralCategory -> Bool # | |
| Eq Number Source # | Since: 4.6.0.0 |
| Eq Lexeme Source # | Since: 2.1 |
| Eq Fingerprint Source # | Since: 4.4.0.0 |
Defined in GHC.Fingerprint.Type | |
| Eq IOMode Source # | Since: 4.2.0.0 |
| Eq IntPtr Source # | |
| Eq WordPtr Source # | |
| Eq CUIntMax Source # | |
| Eq CIntMax Source # | |
| Eq CUIntPtr Source # | |
| Eq CIntPtr Source # | |
| Eq CSUSeconds Source # | |
Defined in Foreign.C.Types | |
| Eq CUSeconds Source # | |
| Eq CTime Source # | |
| Eq CClock Source # | |
| Eq CSigAtomic Source # | |
Defined in Foreign.C.Types | |
| Eq CWchar Source # | |
| Eq CSize Source # | |
| Eq CPtrdiff Source # | |
| Eq CDouble Source # | |
| Eq CFloat Source # | |
| Eq CBool Source # | |
| Eq CULLong Source # | |
| Eq CLLong Source # | |
| Eq CULong Source # | |
| Eq CLong Source # | |
| Eq CUInt Source # | |
| Eq CInt Source # | |
| Eq CUShort Source # | |
| Eq CShort Source # | |
| Eq CUChar Source # | |
| Eq CSChar Source # | |
| Eq CChar Source # | |
| Eq SomeNat Source # | Since: 4.7.0.0 |
| Eq SomeSymbol Source # | Since: 4.7.0.0 |
Defined in GHC.TypeLits | |
| Eq DecidedStrictness Source # | Since: 4.9.0.0 |
Defined in GHC.Generics Methods (==) :: DecidedStrictness -> DecidedStrictness -> Bool # (/=) :: DecidedStrictness -> DecidedStrictness -> Bool # | |
| Eq SourceStrictness Source # | Since: 4.9.0.0 |
Defined in GHC.Generics Methods (==) :: SourceStrictness -> SourceStrictness -> Bool # (/=) :: SourceStrictness -> SourceStrictness -> Bool # | |
| Eq SourceUnpackedness Source # | Since: 4.9.0.0 |
Defined in GHC.Generics Methods (==) :: SourceUnpackedness -> SourceUnpackedness -> Bool # (/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool # | |
| Eq Associativity Source # | Since: 4.6.0.0 |
Defined in GHC.Generics Methods (==) :: Associativity -> Associativity -> Bool # (/=) :: Associativity -> Associativity -> Bool # | |
| Eq Fixity Source # | Since: 4.6.0.0 |
| Eq Any Source # | Since: 2.1 |
| Eq All Source # | Since: 2.1 |
| Eq ArithException Source # | Since: 3.0 |
Defined in GHC.Exception.Type Methods (==) :: ArithException -> ArithException -> Bool # (/=) :: ArithException -> ArithException -> Bool # | |
| Eq ErrorCall Source # | Since: 4.7.0.0 |
| Eq IOException Source # | Since: 4.1.0.0 |
Defined in GHC.IO.Exception | |
| Eq MaskingState Source # | Since: 4.3.0.0 |
Defined in GHC.IO | |
| Eq BufferState Source # | Since: 4.2.0.0 |
Defined in GHC.IO.Buffer | |
| Eq CodingProgress Source # | Since: 4.4.0.0 |
Defined in GHC.IO.Encoding.Types Methods (==) :: CodingProgress -> CodingProgress -> Bool # (/=) :: CodingProgress -> CodingProgress -> Bool # | |
| Eq SeekMode Source # | Since: 4.2.0.0 |
| Eq IODeviceType Source # | Since: 4.2.0.0 |
Defined in GHC.IO.Device | |
| Eq NewlineMode Source # | Since: 4.2.0.0 |
Defined in GHC.IO.Handle.Types | |
| Eq Newline Source # | Since: 4.2.0.0 |
| Eq BufferMode Source # | Since: 4.2.0.0 |
Defined in GHC.IO.Handle.Types | |
| Eq Handle Source # | Since: 4.1.0.0 |
| Eq IOErrorType Source # | Since: 4.1.0.0 |
Defined in GHC.IO.Exception | |
| Eq ExitCode Source # | |
| Eq ArrayException Source # | Since: 4.2.0.0 |
Defined in GHC.IO.Exception Methods (==) :: ArrayException -> ArrayException -> Bool # (/=) :: ArrayException -> ArrayException -> Bool # | |
| Eq AsyncException Source # | Since: 4.2.0.0 |
Defined in GHC.IO.Exception Methods (==) :: AsyncException -> AsyncException -> Bool # (/=) :: AsyncException -> AsyncException -> Bool # | |
| Eq Errno Source # | Since: 2.1 |
| Eq Fd Source # | |
| Eq CTimer Source # | |
| Eq CKey Source # | |
| Eq CId Source # | |
| Eq CFsFilCnt Source # | |
| Eq CFsBlkCnt Source # | |
| Eq CClockId Source # | |
| Eq CBlkCnt Source # | |
| Eq CBlkSize Source # | |
| Eq CRLim Source # | |
| Eq CTcflag Source # | |
| Eq CSpeed Source # | |
| Eq CCc Source # | |
| Eq CUid Source # | |
| Eq CNlink Source # | |
| Eq CGid Source # | |
| Eq CSsize Source # | |
| Eq CPid Source # | |
| Eq COff Source # | |
| Eq CMode Source # | |
| Eq CIno Source # | |
| Eq CDev Source # | |
| Eq Lifetime Source # | Since: 4.8.1.0 |
| Eq Event Source # | Since: 4.4.0.0 |
| Eq ThreadStatus Source # | Since: 4.3.0.0 |
Defined in GHC.Conc.Sync | |
| Eq BlockReason Source # | Since: 4.3.0.0 |
Defined in GHC.Conc.Sync | |
| Eq ThreadId Source # | Since: 4.2.0.0 |
| Eq TimeoutKey Source # | Since: 4.7.0.0 |
Defined in GHC.Event.TimerManager | |
| Eq FdKey Source # | Since: 4.4.0.0 |
| Eq HandlePosn Source # | Since: 4.1.0.0 |
Defined in GHC.IO.Handle | |
| Eq Version Source # | Since: 2.1 |
| Eq ByteOrder Source # | Since: 4.11.0.0 |
| Eq Unique Source # | |
| Eq Fixity Source # | Since: 4.0.0.0 |
| Eq ConstrRep Source # | Since: 4.0.0.0 |
| Eq DataRep Source # | Since: 4.0.0.0 |
| Eq Constr Source # | Equality of constructors Since: 4.0.0.0 |
| Eq SpecConstrAnnotation Source # | Since: 4.3.0.0 |
Defined in GHC.Exts Methods (==) :: SpecConstrAnnotation -> SpecConstrAnnotation -> Bool # (/=) :: SpecConstrAnnotation -> SpecConstrAnnotation -> Bool # | |
| Eq Void Source # | Since: 4.8.0.0 |
| Eq a => Eq [a] | |
| Eq a => Eq (Maybe a) Source # | Since: 2.1 |
| Eq a => Eq (Ratio a) Source # | Since: 2.1 |
| Eq (StablePtr a) Source # | Since: 2.1 |
| Eq (Ptr a) Source # | Since: 2.1 |
| Eq (FunPtr a) Source # | |
| Eq p => Eq (Par1 p) Source # | Since: 4.7.0.0 |
| Eq a => Eq (NonEmpty a) Source # | Since: 4.9.0.0 |
| Eq (MVar a) Source # | Since: 4.1.0.0 |
| Eq a => Eq (Down a) Source # | Since: 4.6.0.0 |
| Eq a => Eq (Product a) Source # | Since: 2.1 |
| Eq a => Eq (Sum a) Source # | Since: 2.1 |
| Eq a => Eq (Dual a) Source # | Since: 2.1 |
| Eq a => Eq (Last a) Source # | Since: 2.1 |
| Eq a => Eq (First a) Source # | Since: 2.1 |
| Eq (IORef a) Source # | Pointer equality. Since: 4.0.0.0 |
| Eq (ForeignPtr a) Source # | Since: 2.1 |
Defined in GHC.ForeignPtr | |
| Eq (TVar a) Source # | Since: 4.8.0.0 |
| Eq a => Eq (Identity a) Source # | Since: 4.8.0.0 |
| Eq a => Eq (ZipList a) Source # | Since: 4.7.0.0 |
| Eq (StableName a) Source # | Since: 2.1 |
Defined in GHC.StableName | |
| Eq (Chan a) Source # | Since: 4.4.0.0 |
| Eq a => Eq (Option a) Source # | Since: 4.9.0.0 |
| Eq m => Eq (WrappedMonoid m) Source # | Since: 4.9.0.0 |
Defined in Data.Semigroup Methods (==) :: WrappedMonoid m -> WrappedMonoid m -> Bool # (/=) :: WrappedMonoid m -> WrappedMonoid m -> Bool # | |
| Eq a => Eq (Last a) Source # | Since: 4.9.0.0 |
| Eq a => Eq (First a) Source # | Since: 4.9.0.0 |
| Eq a => Eq (Max a) Source # | Since: 4.9.0.0 |
| Eq a => Eq (Min a) Source # | Since: 4.9.0.0 |
| Eq (Fixed a) Source # | Since: 2.1 |
| Eq a => Eq (Complex a) Source # | Since: 2.1 |
| (Eq a, Eq b) => Eq (Either a b) Source # | Since: 2.1 |
| Eq (V1 p) Source # | Since: 4.9.0.0 |
| Eq (U1 p) Source # | Since: 4.9.0.0 |
| Eq (TypeRep a) Source # | Since: 2.1 |
| (Eq a, Eq b) => Eq (a, b) | |
| Eq (STRef s a) Source # | Pointer equality. Since: 2.1 |
| (Ix i, Eq e) => Eq (Array i e) Source # | Since: 2.1 |
| Eq (Proxy s) Source # | Since: 4.7.0.0 |
| Eq (IOArray i e) Source # | Since: 4.1.0.0 |
| Eq a => Eq (Arg a b) Source # | Since: 4.9.0.0 |
| Eq (f p) => Eq (Rec1 f p) Source # | Since: 4.7.0.0 |
| Eq (URec Word p) Source # | Since: 4.9.0.0 |
| Eq (URec Int p) Source # | Since: 4.9.0.0 |
| Eq (URec Float p) Source # | |
| Eq (URec Double p) Source # | Since: 4.9.0.0 |
| Eq (URec Char p) Source # | Since: 4.9.0.0 |
| Eq (URec (Ptr ()) p) Source # | Since: 4.9.0.0 |
| (Eq a, Eq b, Eq c) => Eq (a, b, c) | |
| Eq (STArray s i e) Source # | Since: 2.1 |
| Eq (a :~: b) Source # | Since: 4.7.0.0 |
| Eq (Coercion a b) Source # | Since: 4.7.0.0 |
| Eq (f a) => Eq (Alt f a) Source # | Since: 4.8.0.0 |
| Eq (f a) => Eq (Ap f a) Source # | Since: 4.12.0.0 |
| Eq a => Eq (Const a b) Source # | Since: 4.9.0.0 |
| Eq c => Eq (K1 i c p) Source # | Since: 4.7.0.0 |
| (Eq (f p), Eq (g p)) => Eq ((f :+: g) p) Source # | Since: 4.7.0.0 |
| (Eq (f p), Eq (g p)) => Eq ((f :*: g) p) Source # | Since: 4.7.0.0 |
| (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d) | |
| Eq (a :~~: b) Source # | Since: 4.10.0.0 |
| (Eq1 f, Eq1 g, Eq a) => Eq (Sum f g a) Source # | Since: 4.9.0.0 |
| (Eq1 f, Eq1 g, Eq a) => Eq (Product f g a) Source # | Since: 4.9.0.0 |
| Eq (f p) => Eq (M1 i c f p) Source # | Since: 4.7.0.0 |
| Eq (f (g p)) => Eq ((f :.: g) p) Source # | Since: 4.7.0.0 |
| (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e) | |
| (Eq1 f, Eq1 g, Eq a) => Eq (Compose f g a) Source # | Since: 4.9.0.0 |
| (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) => Eq (a, b, c, d, e, f) | |
| (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) => Eq (a, b, c, d, e, f, g) | |
| (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) | |
| (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) | |
| (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) | |
| (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) | |
| (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) | |
| (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) | |
| (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) | |
| (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) | |