Data.Eq
| Авторские права | (c) Университет Глазго, 2005 |
|---|---|
| Лицензия | в стиле BSD (см. файл libraries/base/LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | стабильный |
| Переносимость | переносимый |
| Безопасный Haskell | Safe |
| Язык | Haskell2010 |
Описание
Равенство
Класс Eq определяет равенство (==) и неравенство (/=). Все основные типы данных, экспортируемые из Prelude, являются экземплярами Eq, а Eq можно вывести для любого типа данных, компоненты которого также являются экземплярами Eq.
В отчёте Haskell не определены законы для Eq. Однако рекомендуется, чтобы экземпляры удовлетворяли следующим свойствам:
- Рефлексивность
-
x == x=True - Симметричность
-
x == y=y == x - Транзитивность
- если
x == y && y == z=True, тоx == z=True - Экстенсиональность
- если
x == y=Trueиf— функция, тип возвращаемого значения которой является экземпляромEq, тоf x == f y=True - Отрицание
-
x /= y=not (x == y)
Экземпляры
| Eq CLLong Источник | |
| Eq CLong Источник | |
| Eq CPtrdiff Источник | |
| Eq CSChar Источник | |
| Eq CSUSeconds Источник | |
Определено в GHC.Internal.Foreign.C.Types Методы(==) :: CSUSeconds -> CSUSeconds -> Bool Источник (/=) :: CSUSeconds -> CSUSeconds -> Bool Источник | |
| Eq CShort Источник | |
| Eq CSigAtomic Источник | |
Определено в GHC.Internal.Foreign.C.Types Методы(==) :: CSigAtomic -> CSigAtomic -> Bool Источник (/=) :: CSigAtomic -> CSigAtomic -> Bool Источник | |
| Eq CSize Источник | |
| Eq CTime Источник | |
| Eq CUChar Источник | |
| Eq CUInt Источник | |
| Eq CUIntMax Источник | |
| Eq CUIntPtr Источник | |
| Eq CULLong Источник | |
| Eq CULong Источник | |
| Eq CUSeconds Источник | |
| Eq CUShort Источник | |
| Eq CWchar Источник | |
| Eq IntPtr Источник | |
| Eq WordPtr Источник | |
| Eq ForeignSrcLang Источник | |
| Eq Loc Источник | |
| Eq Match Источник | |
| Eq ModName Источник | |
| Eq Module Источник | |
| Eq ModuleInfo Источник | |
Определено в GHC.Internal.TH.Syntax Методы(==) :: ModuleInfo -> ModuleInfo -> Bool Источник (/=) :: ModuleInfo -> ModuleInfo -> Bool Источник | |
| Eq Name Источник | |
| Eq NameFlavour Источник | |
Определено в GHC.Internal.TH.Syntax Методы(==) :: NameFlavour -> NameFlavour -> Bool Источник (/=) :: NameFlavour -> NameFlavour -> Bool Источник | |
| Eq NameSpace Источник | |
| Eq NamespaceSpecifier Источник | |
Определено в GHC.Internal.TH.Syntax Методы(==) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник (/=) :: NamespaceSpecifier -> NamespaceSpecifier -> Bool Источник | |
| Eq OccName Источник | |
| Eq Overlap Источник | |
| Eq Pat Источник | |
| Eq PatSynArgs Источник | |
Определено в GHC.Internal.TH.Syntax Методы(==) :: PatSynArgs -> PatSynArgs -> Bool Источник (/=) :: PatSynArgs -> PatSynArgs -> Bool Источник | |
| Eq PatSynDir Источник | |
| Eq Phases Источник | |
| Eq PkgName Источник | |
| Eq Pragma Источник | |
| Eq Range Источник | |
| Eq Role Источник | |
| Eq RuleBndr Источник | |
| Eq RuleMatch Источник | |
| Eq Safety Источник | |
| Eq SourceStrictness Источник | |
Определено в GHC.Internal.TH.Syntax Методы(==) :: SourceStrictness -> SourceStrictness -> Bool Источник (/=) :: SourceStrictness -> SourceStrictness -> Bool Источник | |
| Eq SourceUnpackedness Источник | |
Определено в GHC.Internal.TH.Syntax Методы(==) :: SourceUnpackedness -> SourceUnpackedness -> Bool Источник (/=) :: SourceUnpackedness -> SourceUnpackedness -> Bool Источник | |
| Eq Specificity Источник | |
Определено в GHC.Internal.TH.Syntax Методы(==) :: Specificity -> Specificity -> Bool Источник (/=) :: Specificity -> Specificity -> Bool Источник | |
| Eq Stmt Источник | |
| Eq TyLit Источник | |
| Eq TySynEqn Источник | |
| Eq Type Источник | |
| Eq TypeFamilyHead Источник | |
Определено в GHC.Internal.Classes | |
| Eq Float Исходный код |
Обратите внимание, что из-за наличия >>> 0/0 == (0/0 :: Float) False Также обратите внимание, что экземпляр >>> 0 == (-0 :: Float) True >>> recip 0 == recip (-0 :: Float) False |
Определено в GHC.Internal.Classes | |
| Eq Int Исходный код | |
Определено в GHC.Internal.Classes | |
| Eq Word Исходный код | |
Определено в GHC.Internal.Classes | |
| Eq (Chan a) Исходный код | Начиная с: base-4.4.0.0 |
Определено в Control.Concurrent.Chan | |
| Eq (MutableByteArray s) Исходный код | Начиная с: base-4.17.0.0 |
Определено в Data.Array.Byte Методы(==) :: MutableByteArray s -> MutableByteArray s -> Bool Исходный код (/=) :: MutableByteArray s -> MutableByteArray s -> Bool Исходный код | |
| Eq a => Eq (Complex a) Исходный код | Начиная с: base-2.1 |
Определено в Data.Complex Методы(==) :: Complex a -> Complex a -> Bool Исходный код (/=) :: Complex a -> Complex a -> Bool Исходный код | |
| Eq a => Eq (First a) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Semigroup Методы(==) :: First a -> First a -> Bool Исходный код (/=) :: First a -> First a -> Bool Исходный код | |
| Eq a => Eq (Last a) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Semigroup | |
| Eq a => Eq (Max a) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Semigroup | |
| Eq a => Eq (Min a) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Semigroup | |
| Eq m => Eq (WrappedMonoid m) Исходный код | Начиная с: base-4.9.0.0 |
Определено в Data.Semigroup Методы(==) :: WrappedMonoid m -> WrappedMonoid m -> Bool Исходный код (/=) :: WrappedMonoid m -> WrappedMonoid m -> Bool Исходный код | |
| Eq a => Eq (NonEmpty a) Исходный код | Начиная с: base-4.9.0.0 |
Определено в GHC.Internal.Base Методы(==) :: NonEmpty a -> NonEmpty a -> Bool Исходный код (/=) :: NonEmpty a -> NonEmpty a -> Bool Исходный код | |
| Eq (TVar a) Исходный код | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.Conc.Sync | |
| Eq a => Eq (And a) Исходный код | Начиная с: base-4.16 |
Определено в GHC.Internal.Data.Bits | |
| Eq a => Eq (Iff a) Исходный код | Начиная с: base-4.16 |
Определено в GHC.Internal.Data.Bits | |
| Eq a => Eq (Ior a) Исходный код | Начиная с: base-4.16 |
Определено в GHC.Internal.Data.Bits | |
| Eq a => Eq (Xor a) Исходный код | Начиная с: base-4.16 |
Определено в GHC.Internal.Data.Bits | |
| Eq a => Eq (Identity a) Исходный код | Начиная с: base-4.8.0.0 |
Определено в GHC.Internal.Data.Functor.Identity Методы(==) :: Identity a -> Identity a -> Bool Исходный код (/=) :: Identity a -> Identity a -> Bool Исходный код | |
| Eq a => Eq (First a) Исходный код | Начиная с: base-2.1 |
Определено в GHC.Internal.Data.Monoid Методы(==) :: First a -> First a -> Bool Исходный код (/=) :: First a -> First a -> Bool Исходный код | |
| Eq a => Eq (Last a) Исходный код | Начиная с: base-2.1 |
| Eq a => Eq (Maybe a) Источник | Начиная с: base-2.1 |
| Eq a => Eq (Solo a) Источник | |
| Eq a => Eq [a] Источник | |
| Eq (Fixed a) Источник | Начиная с: base-2.1 |
| Eq a => Eq (Arg a b) Источник |
Обратите внимание, что экземпляр >>> Arg 0 0 == Arg 0 1 True >>> let f (Arg _ x) = x in f (Arg 0 0) == f (Arg 0 1) False Начиная с: base-4.9.0.0 |
| (Ix i, Eq e) => Eq (Array i e) Источник | Начиная с: base-2.1 |
| (Eq a, Eq b) => Eq (Either a b) Источник | Начиная с: base-2.1 |
| Eq (Proxy s) Источник | Начиная с: base-4.7.0.0 |
| Eq (TypeRep a) Источник | Начиная с: base-2.1 |
| Eq (U1 p) Источник | Начиная с: base-4.9.0.0 |
| Eq (V1 p) Источник | Начиная с: base-4.9.0.0 |
| Eq (IOArray i e) Источник | Начиная с: base-4.1.0.0 |
| Eq (STRef s a) Источник |
Равенство указателей. Начиная с: base-2.1 |
| (Eq a, Eq b) => Eq (a, b) Источник | |
| Eq (STArray s i e) Источник | Начиная с: base-2.1 |
| Eq a => Eq (Const a b) Источник | Начиная с: base-4.9.0.0 |
| Eq (f a) => Eq (Ap f a) Источник | Начиная с: base-4.12.0.0 |
| Eq (f a) => Eq (Alt f a) Источник | Начиная с: base-4.8.0.0 |
| Eq (Coercion a b) Источник | Начиная с: base-4.7.0.0 |
| Eq (a :~: b) Источник | Начиная с: base-4.7.0.0 |
| Eq (OrderingI a b) Источник | |
| (Generic1 f, Eq (Rep1 f a)) => Eq (Generically1 f a) Источник | Начиная с: base-4.18.0.0 |
Определено в GHC.Internal.Generics Методы(==) :: Generically1 f a -> Generically1 f a -> Bool Источник (/=) :: Generically1 f a -> Generically1 f a -> Bool Источник | |
| Eq (f p) => Eq (Rec1 f p) Источник | Начиная с: base-4.7.0.0 |
| Eq (URec (Ptr ()) p) Источник | Начиная с: base-4.9.0.0 |
| Eq (URec Char p) Источник | Начиная с: base-4.9.0.0 |
| Eq (URec Double p) Источник | Начиная с: base-4.9.0.0 |
| Eq (URec Float p) Источник | |
| Eq (URec Int p) Источник | Начиная с: base-4.9.0.0 |
| Eq (URec Word p) Источник | Начиная с: base-4.9.0.0 |
| (Eq a, Eq b, Eq c) => Eq (a, b, c) Источник | |
| (Eq (f a), Eq (g a)) => Eq (Product f g a) Источник | Начиная с: base-4.18.0.0 |
| (Eq (f a), Eq (g a)) => Eq (Sum f g a) Источник | Начиная с: base-4.18.0.0 |
| Eq (a :~~: b) Источник | Начиная с: base-4.10.0.0 |
| (Eq (f p), Eq (g p)) => Eq ((f :*: g) p) Источник | Начиная с: base-4.7.0.0 |
| (Eq (f p), Eq (g p)) => Eq ((f :+: g) p) Источник | Начиная с: base-4.7.0.0 |
| Eq c => Eq (K1 i c p) Источник | Начиная с: base-4.7.0.0 |
| (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d) Источник | |
| Eq (f (g a)) => Eq (Compose f g a) Источник | Начиная с: base-4.18.0.0 |
| Eq (f (g p)) => Eq ((f :.: g) p) Источник | С версии: base-4.7.0.0 |
| Eq (f p) => Eq (M1 i c f p) Источник | С версии: base-4.7.0.0 |
| (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e) Источник | |
| (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) Источник | |
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Data-Eq.html