finite-typelits 0.1.4.0 → 0.1.4.1
raw patch · 3 files changed
+4/−6 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- finite-typelits.cabal +1/−1
- src/Data/Finite.hs +1/−1
- src/Data/Finite/Internal.hs +2/−4
finite-typelits.cabal view
@@ -1,5 +1,5 @@ name: finite-typelits-version: 0.1.4.0+version: 0.1.4.1 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
@@ -52,7 +52,7 @@ finites :: KnownNat n => [Finite n] finites = results where- results = Finite <$> [0 .. (natVal (head results) - 1)]+ results = Finite `fmap` [0 .. (natVal (head results) - 1)] -- | Same as 'finites' but with a proxy argument to avoid type signatures. finitesProxy :: KnownNat n => proxy n -> [Finite n]
src/Data/Finite/Internal.hs view
@@ -7,7 +7,7 @@ -- Stability : experimental -- Portability : portable ---------------------------------------------------------------------------------{-# LANGUAGE KindSignatures, DataKinds, DeriveGeneric #-}+{-# LANGUAGE KindSignatures, DataKinds #-} module Data.Finite.Internal ( Finite(Finite),@@ -18,7 +18,6 @@ import GHC.Read import GHC.TypeLits-import GHC.Generics import Control.DeepSeq import Control.Monad import Data.Ratio@@ -29,8 +28,7 @@ -- -- prop> getFinite x < natVal x -- prop> getFinite x >= 0-newtype Finite (n :: Nat) = Finite Integer- deriving (Eq, Ord, Generic)+newtype Finite (n :: Nat) = Finite Integer deriving (Eq, Ord) -- | Convert an 'Integer' into a 'Finite', throwing an error if the input is out of bounds. finite :: KnownNat n => Integer -> Finite n