basement-0.0.16: Foundation scrap box of array & string
Safe HaskellNone
LanguageHaskell2010

Basement.Numerical.Subtractive

Synopsis

Documentation

class Subtractive a where Source #

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 Source #

Methods

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

Instances

Instances details
Subtractive CBool Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CBool 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CChar Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CChar 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CClock Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CClock 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CDouble Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CDouble 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CFloat Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CFloat 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CInt Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CInt 
Instance details

Defined in Basement.Numerical.Subtractive

Methods

(-) :: CInt -> CInt -> Difference CInt Source #

Subtractive CIntMax Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CIntMax 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CIntPtr Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CIntPtr 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CLLong Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CLLong 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CLong Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CLong 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CPtrdiff Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CPtrdiff 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CSChar Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSChar 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CSUSeconds Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSUSeconds 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CShort Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CShort 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CSigAtomic Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSigAtomic 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CSize Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CSize 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CTime Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CTime 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CUChar Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUChar 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CUInt Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUInt 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CUIntMax Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUIntMax 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CUIntPtr Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUIntPtr 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CULLong Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CULLong 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CULong Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CULong 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CUSeconds Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUSeconds 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CUShort Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CUShort 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive CWchar Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference CWchar 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Int16 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int16 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Int32 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int32 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Int64 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int64 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Int8 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int8 
Instance details

Defined in Basement.Numerical.Subtractive

Methods

(-) :: Int8 -> Int8 -> Difference Int8 Source #

Subtractive Word16 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word16 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Word32 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word32 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Word64 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word64 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Word8 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word8 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive COff Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference COff 
Instance details

Defined in Basement.Numerical.Subtractive

Methods

(-) :: COff -> COff -> Difference COff Source #

Subtractive Word128 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word128 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Word256 Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word256 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Integer Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Integer 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Natural Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Natural 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Char Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Char 
Instance details

Defined in Basement.Numerical.Subtractive

Methods

(-) :: Char -> Char -> Difference Char Source #

Subtractive Double Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Double 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Float Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Float 
Instance details

Defined in Basement.Numerical.Subtractive

Subtractive Int Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Int 
Instance details

Defined in Basement.Numerical.Subtractive

Methods

(-) :: Int -> Int -> Difference Int Source #

Subtractive Word Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Word 
Instance details

Defined in Basement.Numerical.Subtractive

Methods

(-) :: Word -> Word -> Difference Word Source #

SizeValid n => Subtractive (Bits n) Source # 
Instance details

Defined in Basement.Bits

Associated Types

type Difference (Bits n) 
Instance details

Defined in Basement.Bits

type Difference (Bits n) = Bits n

Methods

(-) :: Bits n -> Bits n -> Difference (Bits n) Source #

KnownNat n => Subtractive (Zn n) Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference (Zn n) 
Instance details

Defined in Basement.Numerical.Subtractive

type Difference (Zn n) = Zn n

Methods

(-) :: Zn n -> Zn n -> Difference (Zn n) Source #

(KnownNat n, NatWithinBound Word64 n) => Subtractive (Zn64 n) Source # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference (Zn64 n) 
Instance details

Defined in Basement.Numerical.Subtractive

type Difference (Zn64 n) = Zn64 n

Methods

(-) :: Zn64 n -> Zn64 n -> Difference (Zn64 n) Source #

Subtractive (CountOf ty) Source # 
Instance details

Defined in Basement.Types.OffsetSize

Associated Types

type Difference (CountOf ty) 
Instance details

Defined in Basement.Types.OffsetSize

type Difference (CountOf ty) = Maybe (CountOf ty)

Methods

(-) :: CountOf ty -> CountOf ty -> Difference (CountOf ty) Source #

Subtractive (Offset ty) Source # 
Instance details

Defined in Basement.Types.OffsetSize

Associated Types

type Difference (Offset ty) 
Instance details

Defined in Basement.Types.OffsetSize

type Difference (Offset ty) = CountOf ty

Methods

(-) :: Offset ty -> Offset ty -> Difference (Offset ty) Source #