packages feed

type-natural 0.0.5.0 → 0.0.6.0

raw patch · 2 files changed

+14/−2 lines, 2 files

Files

Data/Type/Ordinal.hs view
@@ -7,7 +7,9 @@        ( -- * Data-types          Ordinal (..),          -- * Conversion from cardinals to ordinals.-         sNatToOrd', sNatToOrd, ordToInt, ordToSNat, unsafeFromInt,+         sNatToOrd', sNatToOrd, ordToInt, ordToSNat,+         ordToSNat', CastedOrdinal(..),+         unsafeFromInt,          -- * Ordinal arithmetics          (@+), enumOrdinal        ) where@@ -86,6 +88,16 @@ -- | 'sNatToOrd'' with @n@ inferred. sNatToOrd :: (SingRep n, (S m :<<= n) ~ True) => SNat m -> Ordinal n sNatToOrd = sNatToOrd' sing++data CastedOrdinal n where+  CastedOrdinal :: (S m :<<= n) ~ True => SNat m -> CastedOrdinal n++-- | Convert @Ordinal n@ into @SNat m@ with the proof of @S m :<<= n@.+ordToSNat' :: Ordinal n -> CastedOrdinal n+ordToSNat' OZ = CastedOrdinal sZ+ordToSNat' (OS on) =+  case ordToSNat' on of+    CastedOrdinal m -> CastedOrdinal (sS m)  -- | Convert @Ordinal n@ into monomorphic @SNat@ ordToSNat :: Ordinal n -> Monomorphic (Sing :: Nat -> *)
type-natural.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                type-natural-version:             0.0.5.0+version:             0.0.6.0 synopsis:            Type-level natural and proofs of their properties. description:         Type-level natural numbers and proofs of their properties. homepage:            https://github.com/konn/type-natural