-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Unary natural numbers relying on the singletons infrastructure. -- -- Unary natural number relying on the singletons infrastructure. -- More information about the general usage of singletons can be found on -- the singletons github page. @package singleton-nats @version 0.4.2 module Data.Nat data Nat Z :: Nat S :: Nat -> Nat natPlus :: Nat -> Nat -> Nat natMul :: Nat -> Nat -> Nat natMinus :: Nat -> Nat -> Nat natAbs :: Nat -> Nat natSignum :: Nat -> Nat -- | Converts a runtime Integer to an existentially wrapped -- Nat. Returns Nothing if the argument is negative someNatVal :: Integer -> Maybe (SomeSing Nat) type SNat = (Sing :: Nat -> Type) -- | The singleton kind-indexed data family. class PNum a class SNum a data SSym0 (l_abr3 :: TyFun Nat Nat) SSym0KindInference :: SSym0 type SSym1 (t_abr2 :: Nat) = S t_abr2 type ZSym0 = Z -- | Provides a shorthand for Nat-s using GHC.TypeLits, for -- example: -- --
-- >>> :kind! Lit 3
-- Lit 3 :: Nat
-- = 'S ('S ('S 'Z))
--
data LitSym0 (l_alr9 :: TyFun Nat Nat)
LitSym0KindInference :: LitSym0
type LitSym1 (t_alr8 :: Nat) = Lit t_alr8
type SLit n = Sing (Lit n)
-- | Shorthand for SNat literals using TypeApplications.
--
-- -- >>> :set -XTypeApplications -- -- >>> sLit @5 -- SS (SS (SS (SS (SS SZ)))) --sLit :: forall (n :: Nat). SingI (Lit n) => Sing (Lit n) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.LitSym0 instance GHC.Classes.Ord Data.Nat.Nat instance GHC.Show.Show Data.Nat.Nat instance GHC.Classes.Eq Data.Nat.Nat instance GHC.Classes.Eq (Data.Nat.SNat n) instance GHC.Classes.Ord (Data.Nat.SNat n) instance Data.Singletons.Prelude.Eq.PEq Data.Nat.Nat instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.FromInteger_6989586621679057055Sym0 instance Data.Singletons.Prelude.Num.PNum Data.Nat.Nat instance Data.Singletons.Prelude.Num.SNum Data.Nat.Nat instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.Let6989586621679057047Scrutinee_6989586621679048427Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.Signum_6989586621679057037Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.Abs_6989586621679057024Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.TFHelper_6989586621679057007Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.TFHelper_6989586621679057007Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.TFHelper_6989586621679056981Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.TFHelper_6989586621679056981Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.TFHelper_6989586621679056955Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.TFHelper_6989586621679056955Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.Compare_6989586621679056870Sym0 instance Data.Singletons.Prelude.Ord.POrd Data.Nat.Nat instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.Compare_6989586621679056870Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.ShowsPrec_6989586621679055869Sym0 instance Data.Singletons.Prelude.Show.PShow Data.Nat.Nat instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.ShowsPrec_6989586621679055869Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.ShowsPrec_6989586621679055869Sym2 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatMulSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatMulSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatPlusSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatPlusSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatMinusSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatMinusSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatAbsSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.NatSignumSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Nat.SSym0 instance GHC.Num.Num Data.Nat.Nat instance Data.Singletons.Internal.SingKind Data.Nat.Nat instance Data.Singletons.Prelude.Show.SShow Data.Nat.Nat => Data.Singletons.Prelude.Show.SShow Data.Nat.Nat instance Data.Singletons.Prelude.Ord.SOrd Data.Nat.Nat => Data.Singletons.Prelude.Ord.SOrd Data.Nat.Nat instance Data.Singletons.Prelude.Eq.SEq Data.Nat.Nat => Data.Singletons.Prelude.Eq.SEq Data.Nat.Nat instance Data.Singletons.Decide.SDecide Data.Nat.Nat => Data.Singletons.Decide.SDecide Data.Nat.Nat instance Data.Singletons.ShowSing.ShowSing Data.Nat.Nat => Data.Singletons.ShowSing.ShowSing Data.Nat.Nat instance Data.Singletons.ShowSing.ShowSing Data.Nat.Nat => GHC.Show.Show (Data.Singletons.Internal.Sing z) instance Data.Singletons.Internal.SingI 'Data.Nat.Z instance Data.Singletons.Internal.SingI n => Data.Singletons.Internal.SingI ('Data.Nat.S n)