basement-0.0.7: 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

Minimal complete definition

(-)

Associated Types

type Difference a Source #

Methods

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

Instances

Subtractive Char Source # 

Associated Types

type Difference Char :: * Source #

Methods

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

Subtractive Double Source # 

Associated Types

type Difference Double :: * Source #

Subtractive Float Source # 

Associated Types

type Difference Float :: * Source #

Subtractive Int Source # 

Associated Types

type Difference Int :: * Source #

Methods

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

Subtractive Int8 Source # 

Associated Types

type Difference Int8 :: * Source #

Methods

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

Subtractive Int16 Source # 

Associated Types

type Difference Int16 :: * Source #

Subtractive Int32 Source # 

Associated Types

type Difference Int32 :: * Source #

Subtractive Int64 Source # 

Associated Types

type Difference Int64 :: * Source #

Subtractive Integer Source # 

Associated Types

type Difference Integer :: * Source #

Subtractive Natural Source # 

Associated Types

type Difference Natural :: * Source #

Subtractive Word Source # 

Associated Types

type Difference Word :: * Source #

Methods

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

Subtractive Word8 Source # 

Associated Types

type Difference Word8 :: * Source #

Subtractive Word16 Source # 

Associated Types

type Difference Word16 :: * Source #

Subtractive Word32 Source # 

Associated Types

type Difference Word32 :: * Source #

Subtractive Word64 Source # 

Associated Types

type Difference Word64 :: * Source #

Subtractive COff Source # 

Associated Types

type Difference COff :: * Source #

Methods

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

Subtractive CChar Source # 

Associated Types

type Difference CChar :: * Source #

Subtractive CSChar Source # 

Associated Types

type Difference CSChar :: * Source #

Subtractive CUChar Source # 

Associated Types

type Difference CUChar :: * Source #

Subtractive CShort Source # 

Associated Types

type Difference CShort :: * Source #

Subtractive CUShort Source # 

Associated Types

type Difference CUShort :: * Source #

Subtractive CInt Source # 

Associated Types

type Difference CInt :: * Source #

Methods

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

Subtractive CUInt Source # 

Associated Types

type Difference CUInt :: * Source #

Subtractive CLong Source # 

Associated Types

type Difference CLong :: * Source #

Subtractive CULong Source # 

Associated Types

type Difference CULong :: * Source #

Subtractive CLLong Source # 

Associated Types

type Difference CLLong :: * Source #

Subtractive CULLong Source # 

Associated Types

type Difference CULLong :: * Source #

Subtractive CBool Source # 

Associated Types

type Difference CBool :: * Source #

Subtractive CFloat Source # 

Associated Types

type Difference CFloat :: * Source #

Subtractive CDouble Source # 

Associated Types

type Difference CDouble :: * Source #

Subtractive CPtrdiff Source # 

Associated Types

type Difference CPtrdiff :: * Source #

Subtractive CSize Source # 

Associated Types

type Difference CSize :: * Source #

Subtractive CWchar Source # 

Associated Types

type Difference CWchar :: * Source #

Subtractive CSigAtomic Source # 
Subtractive CClock Source # 

Associated Types

type Difference CClock :: * Source #

Subtractive CTime Source # 

Associated Types

type Difference CTime :: * Source #

Subtractive CUSeconds Source # 

Associated Types

type Difference CUSeconds :: * Source #

Subtractive CSUSeconds Source # 
Subtractive CIntPtr Source # 

Associated Types

type Difference CIntPtr :: * Source #

Subtractive CUIntPtr Source # 

Associated Types

type Difference CUIntPtr :: * Source #

Subtractive CIntMax Source # 

Associated Types

type Difference CIntMax :: * Source #

Subtractive CUIntMax Source # 

Associated Types

type Difference CUIntMax :: * Source #

Subtractive Word128 Source # 

Associated Types

type Difference Word128 :: * Source #

Subtractive Word256 Source # 

Associated Types

type Difference Word256 :: * Source #

KnownNat n => Subtractive (Zn n) Source # 

Associated Types

type Difference (Zn n) :: * Source #

Methods

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

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

Associated Types

type Difference (Zn64 n) :: * Source #

Methods

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

Subtractive (CountOf ty) Source # 

Associated Types

type Difference (CountOf ty) :: * Source #

Methods

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

Subtractive (Offset ty) Source # 

Associated Types

type Difference (Offset ty) :: * Source #

Methods

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

SizeValid n => Subtractive (Bits n) Source # 

Associated Types

type Difference (Bits n) :: * Source #

Methods

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