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

Basement.Compat.Natural

Synopsis

Documentation

data Natural #

Type representing arbitrary-precision non-negative integers.

>>> 2^100 :: Natural
1267650600228229401496703205376

Operations whose result would be negative throw (Underflow :: ArithException),

>>> -1 :: Natural
*** Exception: arithmetic underflow

Since: base-4.8.0.0

Instances

Instances details
Enum Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Enum

Eq Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Methods

(==) :: Natural -> Natural -> Bool #

(/=) :: Natural -> Natural -> Bool #

Integral Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Real

Data Natural

Since: base-4.8.0.0

Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Natural -> c Natural #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Natural #

toConstr :: Natural -> Constr #

dataTypeOf :: Natural -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Natural) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Natural) #

gmapT :: (forall b. Data b => b -> b) -> Natural -> Natural #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Natural -> r #

gmapQ :: (forall d. Data d => d -> u) -> Natural -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Natural -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Natural -> m Natural #

Num Natural

Note that Natural's 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

Ord Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Natural

Read Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Read

Real Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Real

Show Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Show

Ix Natural

Since: base-4.8.0.0

Instance details

Defined in GHC.Ix

Bits Natural

Since: base-4.8.0

Instance details

Defined in Data.Bits

Integral Natural # 
Instance details

Defined in Basement.Compat.NumLiteral

IsNatural Natural # 
Instance details

Defined in Basement.Numerical.Number

Methods

toNatural :: Natural -> Natural #

IsIntegral Natural # 
Instance details

Defined in Basement.Numerical.Number

Methods

toInteger :: Natural -> Integer #

Subtractive Natural # 
Instance details

Defined in Basement.Numerical.Subtractive

Associated Types

type Difference Natural #

Additive Natural # 
Instance details

Defined in Basement.Numerical.Additive

Methods

azero :: Natural #

(+) :: Natural -> Natural -> Natural #

scale :: IsNatural n => n -> Natural -> Natural #

IDivisible Natural # 
Instance details

Defined in Basement.Numerical.Multiplicative

Multiplicative Natural # 
Instance details

Defined in Basement.Numerical.Multiplicative

NormalForm Natural # 
Instance details

Defined in Basement.NormalForm

Methods

toNormalForm :: Natural -> () #

IsNatural a => IntegralUpsize a Natural # 
Instance details

Defined in Basement.IntegralConv

Methods

integralUpsize :: a -> Natural #

IntegralDownsize Integer Natural # 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word8 # 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word16 # 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word32 # 
Instance details

Defined in Basement.IntegralConv

IntegralDownsize Natural Word64 # 
Instance details

Defined in Basement.IntegralConv

IsNatural n => From n Natural # 
Instance details

Defined in Basement.From

Methods

from :: n -> Natural #

type Difference Natural # 
Instance details

Defined in Basement.Numerical.Subtractive