hw-prim 0.0.3.4 → 0.0.3.5
raw patch · 2 files changed
+23/−1 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ HaskellWorks.Data.Vector.VectorLike: vEnd :: VectorLike v => v -> Position
- HaskellWorks.Data.Vector.VectorLike: class VectorLike v where type Elem v where {
+ HaskellWorks.Data.Vector.VectorLike: class VectorLike v where type Elem v vEnd = fromIntegral . vLength where {
Files
hw-prim.cabal view
@@ -1,5 +1,5 @@ name: hw-prim-version: 0.0.3.4+version: 0.0.3.5 synopsis: Primitive functions and data types description: Please see README.md homepage: http://github.com/haskell-works/hw-prim#readme
src/HaskellWorks/Data/Vector/VectorLike.hs view
@@ -21,6 +21,8 @@ vFilter :: (Elem v -> Bool) -> v -> v vGenerate :: Int -> (Int -> Elem v) -> v vLength :: v -> Count+ vEnd :: v -> Position+ vEnd = fromIntegral . vLength vSnoc :: v -> Elem v -> v vDrop :: Count -> v -> v vTake :: Count -> v -> v@@ -36,6 +38,7 @@ vFilter = filter vGenerate n f = f `fmap` [0 .. (n - 1)] vLength = Count . fromIntegral . length+ vEnd = Position . fromIntegral . length vSnoc v c = v ++ [c] vDrop = drop . fromIntegral vTake = take . fromIntegral@@ -50,6 +53,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -67,6 +71,7 @@ vGenerate n f = fst (BS.unfoldrN n go 0) where go i = if i /= n then Just (f i, i + 1) else Nothing vLength = Count . fromIntegral . BS.length+ vEnd = Position . fromIntegral . BS.length vSnoc = BS.snoc vDrop = BS.drop . fromIntegral vTake = BS.take . fromIntegral@@ -79,6 +84,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -95,6 +101,7 @@ vFilter = DV.filter vGenerate = DV.generate vLength = Count . fromIntegral . DV.length+ vEnd = Position . fromIntegral . DV.length vSnoc = DV.snoc vDrop = DV.drop . fromIntegral vTake = DV.take . fromIntegral@@ -107,6 +114,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -123,6 +131,7 @@ vFilter = DV.filter vGenerate = DV.generate vLength = Count . fromIntegral . DV.length+ vEnd = Position . fromIntegral . DV.length vSnoc = DV.snoc vDrop = DV.drop . fromIntegral vTake = DV.take . fromIntegral@@ -135,6 +144,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -151,6 +161,7 @@ vFilter = DV.filter vGenerate = DV.generate vLength = Count . fromIntegral . DV.length+ vEnd = Position . fromIntegral . DV.length vSnoc = DV.snoc vDrop = DV.drop . fromIntegral vTake = DV.take . fromIntegral@@ -163,6 +174,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -179,6 +191,7 @@ vFilter = DV.filter vGenerate = DV.generate vLength = Count . fromIntegral . DV.length+ vEnd = Position . fromIntegral . DV.length vSnoc = DV.snoc vDrop = DV.drop . fromIntegral vTake = DV.take . fromIntegral@@ -191,6 +204,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -207,6 +221,7 @@ vFilter = DVS.filter vGenerate = DVS.generate vLength = Count . fromIntegral . DVS.length+ vEnd = Position . fromIntegral . DVS.length vSnoc = DVS.snoc vDrop = DVS.drop . fromIntegral vTake = DVS.take . fromIntegral@@ -219,6 +234,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -235,6 +251,7 @@ vFilter = DVS.filter vGenerate = DVS.generate vLength = Count . fromIntegral . DVS.length+ vEnd = Position . fromIntegral . DVS.length vSnoc = DVS.snoc vDrop = DVS.drop . fromIntegral vTake = DVS.take . fromIntegral@@ -247,6 +264,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -263,6 +281,7 @@ vFilter = DVS.filter vGenerate = DVS.generate vLength = Count . fromIntegral . DVS.length+ vEnd = Position . fromIntegral . DVS.length vSnoc = DVS.snoc vDrop = DVS.drop . fromIntegral vTake = DVS.take . fromIntegral@@ -275,6 +294,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}@@ -291,6 +311,7 @@ vFilter = DVS.filter vGenerate = DVS.generate vLength = Count . fromIntegral . DVS.length+ vEnd = Position . fromIntegral . DVS.length vSnoc = DVS.snoc vDrop = DVS.drop . fromIntegral vTake = DVS.take . fromIntegral@@ -303,6 +324,7 @@ {-# INLINE vFilter #-} {-# INLINE vGenerate #-} {-# INLINE vLength #-}+ {-# INLINE vEnd #-} {-# INLINE vSnoc #-} {-# INLINE vDrop #-} {-# INLINE vTake #-}