HORIZON HASKELLDocslts/ghc-10.0.x2b276322026-10-31Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 2b27632 · 2026-10-31

Modulebase-4.23.0.0Haskell2010

GHC.Natural

Compatibility module for pre ghc-bignum code.

Contents
  1. Arithmetic
  2. Bits
  3. Conversions
  4. Modular arithmetic
Synopsis
  • Packagebase-4.23.0.0
  • Exports32
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceNatural.hs
datadata Natural

Natural number

Invariant: numbers <= 0xffffffffffffffff use the NS constructor

Instances16Enum, Eq, Integral, Data, Num, Ord, …
  • Enum NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Enum
  • Eq NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.Natural
  • Integral NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Data NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Data
  • Num NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Num

    Note that Natural's Num instance isn't a ring: no element but 0 has an additive inverse. It is a semiring though.

  • Ord NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.Natural
  • Read NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Read
  • Real NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Real
  • Show NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Show
  • Ix NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Ix
  • Bits NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.Bits
  • PrintfArg NaturalDefined in base-4.23.0.0 · Text.Printf
  • Lift NaturalDefined in ghc-internal-10.0.0 · GHC.Internal.TH.Lift
  • TestCoercion SNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • TestEquality SNatDefined in ghc-internal-10.0.0 · GHC.Internal.TypeNats
  • type Compare a b = CmpNat a bDefined in ghc-internal-10.0.0 · GHC.Internal.Data.Type.Ord
datadata BigNat

A lifted BigNat

Represented as an array of limbs (Word#) stored in little-endian order (Word# themselves use machine order).

Invariant (canonical representation): higher Word# is non-zero.

As a consequence, zero is represented with a WordArray# whose size is 0.

Constructors

Instances2Eq, Ord
  • Eq BigNatDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.BigNat
  • Ord BigNatDefined in ghc-internal-10.0.0 · GHC.Internal.Bignum.BigNat

Arithmetic

Bits

Conversions

Modular arithmetic