peano-inf-0.2: Lazy Peano numbers including observable infinity value.

Portabilityportable
Stabilityexperimental
Maintainerdivip@aszt.inf.elte.hu

Number.Peano.Inf

Description

Lazy Peano numbers including observable infinity value.

Synopsis

Documentation

data Nat Source

Natural numbers and infinity.

Constructors

Zero 
Succ Nat 

infinity :: NatSource

Observable infinity value.

isInfinity :: Nat -> BoolSource

True on (infinity), (5 + 4 * infinity) etc. Evaluates to bottom on (genericLength [1..]).

diffSource

Arguments

:: Nat

n

-> Nat

m

-> Either Nat Nat

n >= m: Left (n-m), n < m: Right (m-n)

Difference of two natural numbers: the result is either positive or negative.

zeroDiffSource

Arguments

:: Nat

n

-> Nat

m

-> Either Nat Nat

n >= m: Left (n-m), n < m: Right (m-n)

Variant of diff: infinity zeroDiff infinity == Left Zero.

infDiffSource

Arguments

:: Nat

n

-> Nat

m

-> Either Nat Nat

n >= m: Left (n-m), n < m: Right (m-n)

Variant of diff: infinity infDiff infinity == Left infinity.

(-|) :: Nat -> Nat -> NatSource

Non-negative subtraction. For example, (5 -| 8 == 0).