HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulenumeric-prelude-0.4.4Haskell98

Number.NonNegative

A type for non-negative numbers. It performs a run-time check at construction time (i.e. at run-time) and is a member of the non-negative number type class C.

  • 7 types
  • 5 values
newtypenewtype T a
#
Instances29Bounded, Enum, Eq, Floating, Fractional, Integral, …
  • (Ord a, Num a, Bounded a) => Bounded (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • (Ord a, Num a, Enum a) => Enum (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • Eq a => Eq (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • (Ord a, Floating a) => Floating (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • (Ord a, Fractional a) => Fractional (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • Integral a => Integral (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • (Ord a, Num a) => Num (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • Ord a => Ord (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • Real a => Real (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • RealFrac a => RealFrac (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • Show a => Show (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • Num a => Semigroup (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • Num a => Monoid (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • (Num a, Arbitrary a) => Arbitrary (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • (Ord a, Num a) => C (T a)Defined in non-negative-0.1.2 · Numeric.NonNegative.Wrapper
  • (C a, Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • C a => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • C a => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (C a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • C a => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • C a => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
  • (Ord a, C a) => C (T a)Defined in numeric-prelude-0.4.4 · Number.NonNegative · orphan
valuefromNumber :: (Ord a, C a) => a -> T a
#

Convert a number to a non-negative number. If a negative number is given, an error is raised.

valuefromNumberClip :: (Ord a, C a) => a -> T a
#

Convert a number to a non-negative number. A negative number will be replaced by zero. Use this function with care since it may hide bugs.

valuefromNumberUnsafe :: a -> T a
#

Wrap a number into a non-negative number without doing checks. This routine exists entirely for efficiency reasons and must be used only in cases where you are absolutely sure, that the input number is non-negative.

Orphan instances

14 instances