packages feed

finite 1.4.1.2 → 1.4.1.4

raw patch · 2 files changed

+15/−11 lines, 2 filesdep ~Cabaldep ~QuickCheckdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: Cabal, QuickCheck, base, containers, hashable, template-haskell

API changes (from Hackage documentation)

+ Finite: ($dmelements) :: (Finite b a, Generic a, GFinite b (Rep a), FiniteBounds b) => T a -> Int
+ Finite: ($dmindex) :: (Finite b a, Generic a, GFinite b (Rep a), FiniteBounds b) => a -> Int
+ Finite: ($dmvalue) :: (Finite b a, Generic a, GFinite b (Rep a), FiniteBounds b) => Int -> a
- Finite: (|/=|) :: (Finite b a, FiniteBounds b) => a -> a -> Bool
+ Finite: (|/=|) :: Finite b a => a -> a -> Bool
- Finite: (|<=|) :: (Finite b a, FiniteBounds b) => a -> a -> Bool
+ Finite: (|<=|) :: Finite b a => a -> a -> Bool
- Finite: (|<|) :: (Finite b a, FiniteBounds b) => a -> a -> Bool
+ Finite: (|<|) :: Finite b a => a -> a -> Bool
- Finite: (|==|) :: (Finite b a, FiniteBounds b) => a -> a -> Bool
+ Finite: (|==|) :: Finite b a => a -> a -> Bool
- Finite: (|>=|) :: (Finite b a, FiniteBounds b) => a -> a -> Bool
+ Finite: (|>=|) :: Finite b a => a -> a -> Bool
- Finite: (|>|) :: (Finite b a, FiniteBounds b) => a -> a -> Bool
+ Finite: (|>|) :: Finite b a => a -> a -> Bool
- Finite: bounds :: (Finite b a, FiniteBounds b) => T a -> (a, a)
+ Finite: bounds :: Finite b a => T a -> (a, a)
- Finite: class GFinite b f
+ Finite: class GFinite b (f :: Type -> Type)
- Finite: complement :: (Finite b a, FiniteBounds b) => [a] -> [a]
+ Finite: complement :: Finite b a => [a] -> [a]
- Finite: elements :: (Finite b a, Generic a, GFinite b (Rep a), FiniteBounds b) => T a -> Int
+ Finite: elements :: Finite b a => T a -> Int
- Finite: final :: (Finite b a, FiniteBounds b) => T a -> a
+ Finite: final :: Finite b a => T a -> a
- Finite: index :: (Finite b a, Generic a, GFinite b (Rep a), FiniteBounds b) => a -> Int
+ Finite: index :: Finite b a => a -> Int
- Finite: initial :: (Finite b a, FiniteBounds b) => T a -> a
+ Finite: initial :: Finite b a => T a -> a
- Finite: next :: (Finite b a, FiniteBounds b) => a -> a
+ Finite: next :: Finite b a => a -> a
- Finite: offset :: (Finite b a, FiniteBounds b) => T a -> Int
+ Finite: offset :: Finite b a => T a -> Int
- Finite: previous :: (Finite b a, FiniteBounds b) => a -> a
+ Finite: previous :: Finite b a => a -> a
- Finite: type FiniteBounds b = (?bounds :: b)
+ Finite: type FiniteBounds b = ?bounds :: b
- Finite: value :: (Finite b a, Generic a, GFinite b (Rep a), FiniteBounds b) => Int -> a
+ Finite: value :: Finite b a => Int -> a
- Finite: values :: (Finite b a, FiniteBounds b) => [a]
+ Finite: values :: Finite b a => [a]

Files

finite.cabal view
@@ -1,5 +1,5 @@ name:                finite-version:             1.4.1.2+version:             1.4.1.4 synopsis:            Finite ranges via types description:         A framework for capturing finite ranges with                      types, where the sizes of the ranges are not@@ -34,12 +34,12 @@     -fignore-asserts    build-depends:-      base >=4.7 && <4.15+      base >=4.7 && <4.22     , array >=0.5 && <0.6-    , containers >=0.5 && <0.7-    , hashable >=1.2-    , template-haskell >=2.11-    , QuickCheck+    , containers >=0.5 && <0.8+    , hashable >=1.2 && <1.6+    , template-haskell >=2.11 && <2.24+    , QuickCheck >=2.10 && <=2.16    exposed-modules:     Finite@@ -75,10 +75,10 @@     src/test    build-depends:-      base >=4.7 && <4.15-    , hashable >=1.2-    , Cabal >= 2.4-    , QuickCheck+      base >=4.7 && <4.22+    , hashable >=1.2 && <1.6+    , Cabal >=2.4 && < 3.15+    , QuickCheck >=2.10 && <=2.16     , finite    default-language:
src/lib/Finite/PowerSet.hs view
@@ -28,8 +28,10 @@  import Finite.Type   ( T+  , (#)   , (\#)   , (#<<)+  , v2t   )  import Finite.Class@@ -84,7 +86,9 @@           powsum (a,2*p,n-1,xs)    value n =-    let bs = map (value . (+ (offset #<< head bs))) $ bin n+    let ty :: T [a] -> T a+        ty _ = (#)+        bs = map (value . (+ (offset $ ty $ v2t bs))) $ bin n     in assert (n >= 0 && n < (elements #<< bs)) bs    offset = offset . ((\#) :: T (PowerSet a) -> T a)