Skip to content
  • Herbert Valerio Riedel's avatar
    Implement `Natural` number type (re #9818) · 8a8cdbbf
    Herbert Valerio Riedel authored
    This implements a `Natural` type for representing unsigned arbitrary
    precision integers.
    
    When available, `integer-gmp>=1.0.0`'s `BigNat` type is used as
    building-block to construct `Natural` as an algebraic data-type.
    Otherwise, `Natural` falls back being a `newtype`-wrapper around
    `Integer` (as is done in Edward Kmett's `nats` package).
    
    The `GHC.Natural` module exposes an internal GHC-specific API, while
    `Numeric.Natural` provides the official & portable API.
    
    Reviewed By: austin, ekmett
    
    Differential Revision: https://phabricator.haskell.org/D473
    8a8cdbbf