finite-typelits 0.1.1.0 → 0.1.2.0
raw patch · 2 files changed
+12/−2 lines, 2 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
+ Data.Finite: finites :: KnownNat n => [Finite n]
+ Data.Finite: finitesProxy :: KnownNat n => proxy n -> [Finite n]
Files
- finite-typelits.cabal +1/−1
- src/Data/Finite.hs +11/−1
finite-typelits.cabal view
@@ -1,5 +1,5 @@ name: finite-typelits-version: 0.1.1.0+version: 0.1.2.0 synopsis: A type inhabited by finitely many values, indexed by type-level naturals. description: A type inhabited by finitely many values, indexed by type-level naturals. homepage: https://github.com/mniip/finite-typelits
src/Data/Finite.hs view
@@ -13,7 +13,7 @@ Finite, packFinite, packFiniteProxy, finite, finiteProxy,- getFinite,+ getFinite, finites, finitesProxy, equals, cmp, natToFinite, weaken, strengthen, shift, unshift,@@ -46,6 +46,16 @@ -- | Same as 'finite' but with a proxy argument to avoid type signatures. finiteProxy :: KnownNat n => proxy n -> Integer -> Finite n finiteProxy _ = finite++-- | Generate a list of length @n@ of all elements of @'Finite' n@.+finites :: KnownNat n => [Finite n]+finites = results+ where+ results = Finite <$> [0 .. (natVal (head results) - 1)]++-- | Same as 'finites' but with a proxy argument to avoid type signatures.+finitesProxy :: KnownNat n => proxy n -> [Finite n]+finitesProxy _ = finites -- | Test two different types of finite numbers for equality. equals :: Finite n -> Finite m -> Bool