GHC.Num (original) (raw)
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.C.Types
Instance details
Defined in Foreign.Ptr
Instance details
Defined in Foreign.Ptr
Since: base-2.1
Instance details
Defined in GHC.Int
Since: base-2.1
Instance details
Defined in GHC.Int
Since: base-2.1
Instance details
Defined in GHC.Int
Since: base-2.1
Instance details
Defined in GHC.Int
Since: base-2.1
Instance details
Defined in GHC.Word
Since: base-2.1
Instance details
Defined in GHC.Word
Since: base-2.1
Instance details
Defined in GHC.Word
Since: base-2.1
Instance details
Defined in GHC.Word
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Instance details
Defined in System.Posix.Types
Since: base-2.1
Instance details
Defined in GHC.Num
Note that [Natural](Numeric-Natural.html#t:Natural "Numeric.Natural")'s [Num](GHC-Num.html#t:Num "GHC.Num") instance isn't a ring: no element but 0 has an additive inverse. It is a semiring though.
Since: base-4.8.0.0
Instance details
Defined in GHC.Num
Note that due to the presence of NaN, not all elements of [Double](Prelude.html#t:Double "Prelude") have an additive inverse.
>>> **0/0 + (negate 0/0 :: Double)** ****NaN
Also note that due to the presence of -0, [Double](Prelude.html#t:Double "Prelude")'s [Num](GHC-Num.html#t:Num "GHC.Num") instance doesn't have an additive identity
>>> **0 + (-0 :: Double)** ****0.0
Since: base-2.1
Instance details
Defined in GHC.Float
Note that due to the presence of NaN, not all elements of [Float](Prelude.html#t:Float "Prelude") have an additive inverse.
>>> **0/0 + (negate 0/0 :: Float)** ****NaN
Also note that due to the presence of -0, [Float](Prelude.html#t:Float "Prelude")'s [Num](GHC-Num.html#t:Num "GHC.Num") instance doesn't have an additive identity
>>> **0 + (-0 :: Float)** ****0.0
Since: base-2.1
Instance details
Defined in GHC.Float
Since: base-2.1
Instance details
Defined in GHC.Num
Since: base-2.1
Instance details
Defined in GHC.Num
RealFloat a => Num (Complex a) Source #
Since: base-2.1
Instance details
Defined in Data.Complex
Num a => Num (Identity a) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Functor.Identity
Num a => Num (Down a) Source #
Since: base-4.11.0.0
Instance details
Defined in Data.Ord
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup
Since: base-4.9.0.0
Instance details
Defined in Data.Semigroup
Num a => Num (Product a) Source #
Since: base-4.7.0.0
Instance details
Defined in Data.Semigroup.Internal
Since: base-4.7.0.0
Instance details
Defined in Data.Semigroup.Internal
Integral a => Num (Ratio a) Source #
Since: base-2.0.1
Instance details
Defined in GHC.Real
HasResolution a => Num (Fixed a) Source #
Since: base-2.1
Instance details
Defined in Data.Fixed
Num a => Num (Op a b) Source #
Instance details
Defined in Data.Functor.Contravariant
Num a => Num (Const a b) Source #
Since: base-4.9.0.0
Instance details
Defined in Data.Functor.Const
(Applicative f, Num a) => Num (Ap f a) Source #
Note that even if the underlying [Num](GHC-Num.html#t:Num "GHC.Num") and [Applicative](Control-Applicative.html#t:Applicative "Control.Applicative") instances are lawful, for most [Applicative](Control-Applicative.html#t:Applicative "Control.Applicative")s, this instance will not be lawful. If you use this instance with the list [Applicative](Control-Applicative.html#t:Applicative "Control.Applicative"), the following customary laws will not hold:
Commutativity:
>>> **Ap [10,20] + Ap [1,2]** ****Ap {getAp = [11,12,21,22]}
>>> **Ap [1,2] + Ap [10,20]** ****Ap {getAp = [11,21,12,22]}
Additive inverse:
>>> **Ap [] + negate (Ap [])** ****Ap {getAp = []}
>>> **fromInteger 0 :: Ap [] Int** ****Ap {getAp = [0]}
Distributivity:
>>> **Ap [1,2] * (3 + 4)** ****Ap {getAp = [7,14]}
>>> **(Ap [1,2] * 3) + (Ap [1,2] * 4)** ****Ap {getAp = [7,11,10,14]}
Since: base-4.12.0.0
Instance details
Defined in Data.Monoid
Num (f a) => Num (Alt f a) Source #
Since: base-4.8.0.0
Instance details
Defined in Data.Semigroup.Internal