vector-instances 3.2.1 → 3.3
raw patch · 3 files changed
+19/−2 lines, 3 files
Files
- CHANGELOG.markdown +4/−0
- src/Data/Vector/Instances.hs +14/−1
- vector-instances.cabal +1/−1
CHANGELOG.markdown view
@@ -1,3 +1,7 @@+3.3+---+* Added more `Semigroup` instances.+ 3.2.1 ----- * Refactored build system.
src/Data/Vector/Instances.hs view
@@ -29,6 +29,9 @@ import Data.Vector.Fusion.Stream.Size import Data.Vector (Vector,(++),drop,length,imap,ifoldr, ifoldl, izipWith,(!?),(//), generate) import qualified Data.Vector as Vector+import qualified Data.Vector.Unboxed as Unboxed+import qualified Data.Vector.Storable as Storable+import qualified Data.Vector.Primitive as Primitive type instance Key Vector = Int @@ -87,7 +90,7 @@ instance Semigroup (Vector a) where (<>) = (++) {-# INLINE (<>) #-}- + instance Alt Vector where (<!>) = (++) {-# INLINE (<!>) #-}@@ -107,4 +110,14 @@ extended f v = generate (length v) (\n -> f (drop n v)) {-# INLINE extended #-} +instance Unboxed.Unbox a => Semigroup (Unboxed.Vector a) where+ (<>) = (Unboxed.++)+ {-# INLINE (<>) #-} +instance Storable.Storable a => Semigroup (Storable.Vector a) where+ (<>) = (Storable.++)+ {-# INLINE (<>) #-}++instance Primitive.Prim a => Semigroup (Primitive.Vector a) where+ (<>) = (Primitive.++)+ {-# INLINE (<>) #-}
vector-instances.cabal view
@@ -1,5 +1,5 @@ name: vector-instances-version: 3.2.1+version: 3.3 synopsis: Orphan Instances for 'Data.Vector' homepage: http://github.com/ekmett/vector-instances bug-reports: http://github.com/ekmett/vector-instances/issues