hybrid-vectors 0.2 → 0.2.1
raw patch · 2 files changed
+18/−3 lines, 2 filesdep ~basedep ~vectorPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, vector
API changes (from Hackage documentation)
- Data.Vector.Hybrid.Internal: instance (Data a, Data b, Typeable u, Typeable v, Vector u a, Vector v b, c ~ (a, b)) => Data (Vector u v c)
- Data.Vector.Hybrid.Internal: instance (MVector u a, MVector v b) => MVector (MVector u v) (a, b)
- Data.Vector.Hybrid.Internal: instance (Vector u a, Vector v b) => Vector (Vector u v) (a, b)
- Data.Vector.Hybrid.Internal: instance (Vector u a, Vector v b, Eq a, Eq b, c ~ (a, b)) => Eq (Vector u v c)
- Data.Vector.Hybrid.Internal: instance (Vector u a, Vector v b, Ord a, Ord b, c ~ (a, b)) => Ord (Vector u v c)
- Data.Vector.Hybrid.Internal: instance (Vector u a, Vector v b, Read a, Read b, c ~ (a, b)) => Read (Vector u v c)
- Data.Vector.Hybrid.Internal: instance (Vector u a, Vector v b, Show a, Show b, c ~ (a, b)) => Show (Vector u v c)
- Data.Vector.Hybrid.Internal: instance (Vector u a, Vector v b, c ~ (a, b)) => Monoid (Vector u v c)
- Data.Vector.Hybrid.Internal: instance Typeable MVector
- Data.Vector.Hybrid.Internal: instance Typeable Vector
+ Data.Vector.Hybrid.Internal: instance (Data.Data.Data a, Data.Data.Data b, Data.Typeable.Internal.Typeable u, Data.Typeable.Internal.Typeable v, Data.Vector.Generic.Base.Vector u a, Data.Vector.Generic.Base.Vector v b, c ~ (a, b)) => Data.Data.Data (Data.Vector.Hybrid.Internal.Vector u v c)
+ Data.Vector.Hybrid.Internal: instance (Data.Vector.Generic.Base.Vector u a, Data.Vector.Generic.Base.Vector v b) => Data.Vector.Generic.Base.Vector (Data.Vector.Hybrid.Internal.Vector u v) (a, b)
+ Data.Vector.Hybrid.Internal: instance (Data.Vector.Generic.Base.Vector u a, Data.Vector.Generic.Base.Vector v b, GHC.Classes.Eq a, GHC.Classes.Eq b, c ~ (a, b)) => GHC.Classes.Eq (Data.Vector.Hybrid.Internal.Vector u v c)
+ Data.Vector.Hybrid.Internal: instance (Data.Vector.Generic.Base.Vector u a, Data.Vector.Generic.Base.Vector v b, GHC.Classes.Ord a, GHC.Classes.Ord b, c ~ (a, b)) => GHC.Classes.Ord (Data.Vector.Hybrid.Internal.Vector u v c)
+ Data.Vector.Hybrid.Internal: instance (Data.Vector.Generic.Base.Vector u a, Data.Vector.Generic.Base.Vector v b, GHC.Read.Read a, GHC.Read.Read b, c ~ (a, b)) => GHC.Read.Read (Data.Vector.Hybrid.Internal.Vector u v c)
+ Data.Vector.Hybrid.Internal: instance (Data.Vector.Generic.Base.Vector u a, Data.Vector.Generic.Base.Vector v b, GHC.Show.Show a, GHC.Show.Show b, c ~ (a, b)) => GHC.Show.Show (Data.Vector.Hybrid.Internal.Vector u v c)
+ Data.Vector.Hybrid.Internal: instance (Data.Vector.Generic.Base.Vector u a, Data.Vector.Generic.Base.Vector v b, c ~ (a, b)) => GHC.Base.Monoid (Data.Vector.Hybrid.Internal.Vector u v c)
+ Data.Vector.Hybrid.Internal: instance (Data.Vector.Generic.Mutable.Base.MVector u a, Data.Vector.Generic.Mutable.Base.MVector v b) => Data.Vector.Generic.Mutable.Base.MVector (Data.Vector.Hybrid.Internal.MVector u v) (a, b)
Files
hybrid-vectors.cabal view
@@ -1,6 +1,6 @@ name: hybrid-vectors category: Data, Vector-version: 0.2+version: 0.2.1 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -27,8 +27,8 @@ build-depends: base >= 4 && < 5, deepseq >= 1.1 && < 1.5,- primitive >= 0.5 && < 0.6,- vector >= 0.10 && < 0.11+ primitive >= 0.5 && < 0.7,+ vector >= 0.10 && < 0.12 hs-source-dirs: src
src/Data/Vector/Hybrid/Internal.hs view
@@ -13,6 +13,10 @@ #define MIN_VERSION_base(x,y,z) 1 #endif +#ifndef MIN_VERSION_vector+#define MIN_VERSION_vector(x,y,z) 1+#endif+ module Data.Vector.Hybrid.Internal ( MVector(..) , Vector(..)@@ -22,7 +26,14 @@ import Data.Monoid import qualified Data.Vector.Generic.Mutable as GM import qualified Data.Vector.Generic as G+++#if MIN_VERSION_vector(0,11,0)+import Data.Vector.Fusion.Bundle as Stream+#else import Data.Vector.Fusion.Stream as Stream+#endif+ import Data.Data import Prelude hiding ( length, null, replicate, reverse, map, read, take, drop, init, tail ) import Text.Read@@ -85,6 +96,10 @@ {-# INLINE basicUnsafeMove #-} basicUnsafeGrow (MV ks vs) n = liftM2 MV (GM.basicUnsafeGrow ks n) (GM.basicUnsafeGrow vs n) {-# INLINE basicUnsafeGrow #-}+#if MIN_VERSION_vector(0,11,0)+ basicInitialize (MV ks vs) = GM.basicInitialize ks >> GM.basicInitialize vs+ {-# INLINE basicInitialize #-}+#endif -- hybrid vectors data Vector :: (* -> *) -> (* -> *) -> * -> * where