basement-0.0.16: Foundation scrap box of array & string

Safe Haskell | Safe-Inferred
Language | Haskell2010

Basement.Numerical.Subtractive

Synopsis

- class Subtractive a where
  - type Difference a
  - (-) :: a -> a -> Difference a

# Documentation

class Subtractive a where #

Represent class of things that can be subtracted.

Note that the result is not necessary of the same type as the operand depending on the actual type.

For example:

    (-) :: Int -> Int -> Int
    (-) :: DateTime -> DateTime -> Seconds
    (-) :: Ptr a -> Ptr a -> PtrDiff
    (-) :: Natural -> Natural -> Maybe Natural

Associated Types

type Difference a #

Methods

(-) :: a -> a -> Difference a infixl 6 #

#### Instances

Instances details

Subtractive CBool # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CBool # Methods (-) :: CBool -> CBool -> Difference CBool #
Subtractive CChar # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CChar # Methods (-) :: CChar -> CChar -> Difference CChar #
Subtractive CClock # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CClock # Methods (-) :: CClock -> CClock -> Difference CClock #
Subtractive CDouble # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CDouble # Methods (-) :: CDouble -> CDouble -> Difference CDouble #
Subtractive CFloat # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CFloat # Methods (-) :: CFloat -> CFloat -> Difference CFloat #
Subtractive CInt # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CInt # Methods (-) :: CInt -> CInt -> Difference CInt #
Subtractive CIntMax # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CIntMax # Methods (-) :: CIntMax -> CIntMax -> Difference CIntMax #
Subtractive CIntPtr # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CIntPtr # Methods (-) :: CIntPtr -> CIntPtr -> Difference CIntPtr #
Subtractive CLLong # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CLLong # Methods (-) :: CLLong -> CLLong -> Difference CLLong #
Subtractive CLong # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CLong # Methods (-) :: CLong -> CLong -> Difference CLong #
Subtractive CPtrdiff # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CPtrdiff # Methods (-) :: CPtrdiff -> CPtrdiff -> Difference CPtrdiff #
Subtractive CSChar # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CSChar # Methods (-) :: CSChar -> CSChar -> Difference CSChar #
Subtractive CSUSeconds # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CSUSeconds # Methods (-) :: CSUSeconds -> CSUSeconds -> Difference CSUSeconds #
Subtractive CShort # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CShort # Methods (-) :: CShort -> CShort -> Difference CShort #
Subtractive CSigAtomic # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CSigAtomic # Methods (-) :: CSigAtomic -> CSigAtomic -> Difference CSigAtomic #
Subtractive CSize # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CSize # Methods (-) :: CSize -> CSize -> Difference CSize #
Subtractive CTime # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CTime # Methods (-) :: CTime -> CTime -> Difference CTime #
Subtractive CUChar # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CUChar # Methods (-) :: CUChar -> CUChar -> Difference CUChar #
Subtractive CUInt # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CUInt # Methods (-) :: CUInt -> CUInt -> Difference CUInt #
Subtractive CUIntMax # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CUIntMax # Methods (-) :: CUIntMax -> CUIntMax -> Difference CUIntMax #
Subtractive CUIntPtr # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CUIntPtr # Methods (-) :: CUIntPtr -> CUIntPtr -> Difference CUIntPtr #
Subtractive CULLong # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CULLong # Methods (-) :: CULLong -> CULLong -> Difference CULLong #
Subtractive CULong # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CULong # Methods (-) :: CULong -> CULong -> Difference CULong #
Subtractive CUSeconds # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CUSeconds # Methods (-) :: CUSeconds -> CUSeconds -> Difference CUSeconds #
Subtractive CUShort # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CUShort # Methods (-) :: CUShort -> CUShort -> Difference CUShort #
Subtractive CWchar # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference CWchar # Methods (-) :: CWchar -> CWchar -> Difference CWchar #
Subtractive Int16 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Int16 # Methods (-) :: Int16 -> Int16 -> Difference Int16 #
Subtractive Int32 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Int32 # Methods (-) :: Int32 -> Int32 -> Difference Int32 #
Subtractive Int64 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Int64 # Methods (-) :: Int64 -> Int64 -> Difference Int64 #
Subtractive Int8 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Int8 # Methods (-) :: Int8 -> Int8 -> Difference Int8 #
Subtractive Word16 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Word16 # Methods (-) :: Word16 -> Word16 -> Difference Word16 #
Subtractive Word32 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Word32 # Methods (-) :: Word32 -> Word32 -> Difference Word32 #
Subtractive Word64 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Word64 # Methods (-) :: Word64 -> Word64 -> Difference Word64 #
Subtractive Word8 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Word8 # Methods (-) :: Word8 -> Word8 -> Difference Word8 #
Subtractive COff # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference COff # Methods (-) :: COff -> COff -> Difference COff #
Subtractive Word128 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Word128 # Methods (-) :: Word128 -> Word128 -> Difference Word128 #
Subtractive Word256 # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Word256 # Methods (-) :: Word256 -> Word256 -> Difference Word256 #
Subtractive Integer # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Integer # Methods (-) :: Integer -> Integer -> Difference Integer #
Subtractive Natural # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Natural # Methods (-) :: Natural -> Natural -> Difference Natural #
Subtractive Char # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Char # Methods (-) :: Char -> Char -> Difference Char #
Subtractive Double # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Double # Methods (-) :: Double -> Double -> Difference Double #
Subtractive Float # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Float # Methods (-) :: Float -> Float -> Difference Float #
Subtractive Int # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Int # Methods (-) :: Int -> Int -> Difference Int #
Subtractive Word # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference Word # Methods (-) :: Word -> Word -> Difference Word #
SizeValid n => Subtractive (Bits n) # |
Instance details Defined in Basement.Bits Associated Types type Difference (Bits n) # Methods (-) :: Bits n -> Bits n -> Difference (Bits n) #
KnownNat n => Subtractive (Zn n) # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference (Zn n) # Methods (-) :: Zn n -> Zn n -> Difference (Zn n) #
(KnownNat n, NatWithinBound Word64 n) => Subtractive (Zn64 n) # |
Instance details Defined in Basement.Numerical.Subtractive Associated Types type Difference (Zn64 n) # Methods (-) :: Zn64 n -> Zn64 n -> Difference (Zn64 n) #
Subtractive (CountOf ty) # |
Instance details Defined in Basement.Types.OffsetSize Associated Types type Difference (CountOf ty) # Methods (-) :: CountOf ty -> CountOf ty -> Difference (CountOf ty) #
Subtractive (Offset ty) # |
Instance details Defined in Basement.Types.OffsetSize Associated Types type Difference (Offset ty) # Methods (-) :: Offset ty -> Offset ty -> Difference (Offset ty) #