-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Natural numbers -- -- Natural numbers @package nats @version 0.2 -- | This module exposes the potentially unsafe operations that are -- sometimes needed for efficiency: The Natural data constructor and -- unsafePred. module Numeric.Natural.Internal newtype Natural Natural :: Integer -> Natural runNatural :: Natural -> Integer -- | A refinement of Integral to represent types that do not contain -- negative numbers. class Integral n => Whole n toNatural :: Whole n => n -> Natural unsafePred :: Whole n => n -> n -- | Church decoding natural :: a -> (a -> a) -> Natural -> a instance Typeable Natural instance Eq Natural instance Ord Natural instance Ix Natural instance Whole Natural instance Whole Word64 instance Whole Word32 instance Whole Word16 instance Whole Word8 instance Whole Word instance Integral Natural instance Enum Natural instance Real Natural instance Bits Natural instance Num Natural instance Read Natural instance Show Natural instance Data Natural instance Hashable Natural -- | Natural numbers. module Numeric.Natural data Natural -- | A refinement of Integral to represent types that do not contain -- negative numbers. class Integral n => Whole n toNatural :: Whole n => n -> Natural -- | Church decoding natural :: a -> (a -> a) -> Natural -> a