data-diverse 0.8.0.0 → 0.8.1.0
raw patch · 5 files changed
+16/−1 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Diverse.Many: sliceL :: Many (x : xs) -> (x, Many xs)
+ Data.Diverse.Many: sliceR :: Many (x : xs) -> (Many (Init (x : xs)), Last (x : xs))
+ Data.Diverse.Which.Internal: instance (Control.DeepSeq.NFData x, Control.DeepSeq.NFData (Data.Diverse.Which.Internal.Which (x' : xs))) => Control.DeepSeq.NFData (Data.Diverse.Which.Internal.Which (x : x' : xs))
+ Data.Diverse.Which.Internal: instance Control.DeepSeq.NFData (Data.Diverse.Which.Internal.Which '[])
+ Data.Diverse.Which.Internal: instance Control.DeepSeq.NFData x => Control.DeepSeq.NFData (Data.Diverse.Which.Internal.Which '[x])
Files
- README.md +5/−0
- data-diverse.cabal +1/−1
- src/Data/Diverse/Many.hs +2/−0
- src/Data/Diverse/Many/Internal.hs +1/−0
- src/Data/Diverse/Which/Internal.hs +7/−0
README.md view
@@ -33,3 +33,8 @@ * 0.8.0.0 Changed internal representation to (Data.Seq Any) for a further 2x append speedup.+ Added NFData instance for Many++* 0.8.1.0+ Added NFData instance for Which+ Forgot to expose Many.sliceL and Many.sliceR
data-diverse.cabal view
@@ -1,5 +1,5 @@ name: data-diverse-version: 0.8.0.0+version: 0.8.1.0 synopsis: Extensible records and polymorphic variants. description: "Data.Diverse.Many" is an extensible record for any size encoded efficiently as (Seq Any). "Data.Diverse.Which" is a polymorphic variant of possibilities encoded as (Int, Any).
src/Data/Diverse/Many.hs view
@@ -19,6 +19,8 @@ , (/./) -- * Simple queries+ , sliceL+ , sliceR , front , back , aft
src/Data/Diverse/Many/Internal.hs view
@@ -160,6 +160,7 @@ instance NFData (Many '[]) instance (NFData x, NFData (Many xs)) => NFData (Many (x ': xs))+ ----------------------------------------------------------------------- -- | A terminating 'G.Generic' instance encoded as a 'nil'.
src/Data/Diverse/Which/Internal.hs view
@@ -57,6 +57,7 @@ ) where import Control.Applicative+import Control.DeepSeq import Control.Monad import Data.Diverse.Case import Data.Diverse.Reduce@@ -105,6 +106,12 @@ -- Coercible '[Int] '[IntLike] => Coercible (Which '[Int]) (Which '[IntLike]) -- @ type role Which representational++----------------------------------------------++instance NFData (Which '[])+instance (NFData x) => NFData (Which '[x])+instance (NFData x, NFData (Which (x' ': xs))) => NFData (Which (x ': x' ': xs)) ----------------------------------------------