IVector.zip
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Fri, 8 Aug 2008 03:35:43 +0000 (03:35 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Fri, 8 Aug 2008 03:35:43 +0000 (03:35 +0000)
Data/Vector/IVector.hs

index cf03eb7..d8b9d39 100644 (file)
@@ -34,7 +34,7 @@ module Data.Vector.IVector (
   (//), update, bpermute,
 
   -- * Mapping and zipping
-  map, zipWith,
+  map, zipWith, zip,
 
   -- * Comparisons
   eq, cmp,
@@ -82,7 +82,7 @@ import Prelude hiding ( length,
                         replicate, (++),
                         head, last,
                         init, tail, take, drop,
-                        map, zipWith,
+                        map, zipWith, zip,
                         filter, takeWhile, dropWhile,
                         elem, notElem,
                         foldl, foldl1, foldr, foldr1 )
@@ -344,6 +344,10 @@ zipWith :: (IVector v a, IVector v b, IVector v c) => (a -> b -> c) -> v a -> v
 {-# INLINE zipWith #-}
 zipWith f xs ys = unstream (Stream.zipWith f (stream xs) (stream ys))
 
+zip :: (IVector v a, IVector v b, IVector v (a,b)) => v a -> v b -> v (a, b)
+{-# INLINE zip #-}
+zip = zipWith (,)
+
 -- Comparisons
 -- -----------