Skip to content

Commit fa2b1e1

Browse files
committed
Add Unsafe prefix to constructor names
- Since they are public and unsafe it makes sense to reflect this in name - This avoids name clashes with compatibility patterns
1 parent 58ddc36 commit fa2b1e1

16 files changed

Lines changed: 106 additions & 105 deletions

File tree

vector/src/Data/Vector.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,14 @@ import Prelude
198198
-- @since 0.12.2.0
199199
fromArray :: Array a -> Vector a
200200
{-# INLINE fromArray #-}
201-
fromArray arr = Vector 0 (sizeofArray arr) arr
201+
fromArray arr = UnsafeVector 0 (sizeofArray arr) arr
202202

203203
-- | /O(n)/ Convert a vector to an array.
204204
--
205205
-- @since 0.12.2.0
206206
toArray :: Vector a -> Array a
207207
{-# INLINE toArray #-}
208-
toArray (Vector offset len arr)
208+
toArray (UnsafeVector offset len arr)
209209
| offset == 0 && len == sizeofArray arr = arr
210210
| otherwise = cloneArray arr offset len
211211

@@ -218,7 +218,7 @@ toArray (Vector offset len arr)
218218
-- @since 0.13.0.0
219219
toArraySlice :: Vector a -> (Array a, Int, Int)
220220
{-# INLINE toArraySlice #-}
221-
toArraySlice (Vector offset len arr) = (arr, offset, len)
221+
toArraySlice (UnsafeVector offset len arr) = (arr, offset, len)
222222

223223

224224
-- Length information

vector/src/Data/Vector/Mutable.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ import Prelude( Ord, Bool, Ordering(..), Int, Maybe, (<$>) )
8484
#include "vector.h"
8585

8686
pattern MVector :: Int -> Int -> MutableArray s a -> MVector s a
87-
pattern MVector i j arr = U.MVector i j arr
87+
pattern MVector i j arr = U.UnsafeMVector i j arr
8888
{-# COMPLETE MVector #-}
8989
{-# DEPRECATED MVector "Use MVector exported from \"Data.Vector.Mutable.Unsafe\"" #-}
9090

vector/src/Data/Vector/Mutable/Unsafe.hs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import Prelude
3131
type role MVector nominal representational
3232

3333
-- | Mutable boxed vectors keyed on the monad they live in ('IO' or @'ST' s@).
34-
data MVector s a = MVector
34+
data MVector s a = UnsafeMVector
3535
{ unsafeOffset :: !Int -- ^ Offset in underlying array
3636
, unsafeSize :: !Int -- ^ Size of slice
3737
, unsafeMutableArray :: {-# UNPACK #-} !(MutableArray s a)
@@ -51,13 +51,13 @@ instance NFData a => NFData (MVector s a) where
5151

5252
instance G.MVector MVector a where
5353
{-# INLINE basicLength #-}
54-
basicLength (MVector _ n _) = n
54+
basicLength (UnsafeMVector _ n _) = n
5555

5656
{-# INLINE basicUnsafeSlice #-}
57-
basicUnsafeSlice j m (MVector i _ arr) = MVector (i+j) m arr
57+
basicUnsafeSlice j m (UnsafeMVector i _ arr) = UnsafeMVector (i+j) m arr
5858

5959
{-# INLINE basicOverlaps #-}
60-
basicOverlaps (MVector i m arr1) (MVector j n arr2)
60+
basicOverlaps (UnsafeMVector i m arr1) (UnsafeMVector j n arr2)
6161
= sameMutableArray arr1 arr2
6262
&& (between i j (j+n) || between j i (i+m))
6363
where
@@ -67,7 +67,7 @@ instance G.MVector MVector a where
6767
basicUnsafeNew n
6868
= do
6969
arr <- newArray n uninitialised
70-
return (MVector 0 n arr)
70+
return (UnsafeMVector 0 n arr)
7171

7272
{-# INLINE basicInitialize #-}
7373
-- initialization is unnecessary for boxed vectors
@@ -77,19 +77,19 @@ instance G.MVector MVector a where
7777
basicUnsafeReplicate n x
7878
= do
7979
arr <- newArray n x
80-
return (MVector 0 n arr)
80+
return (UnsafeMVector 0 n arr)
8181

8282
{-# INLINE basicUnsafeRead #-}
83-
basicUnsafeRead (MVector i _ arr) j = readArray arr (i+j)
83+
basicUnsafeRead (UnsafeMVector i _ arr) j = readArray arr (i+j)
8484

8585
{-# INLINE basicUnsafeWrite #-}
86-
basicUnsafeWrite (MVector i _ arr) j x = writeArray arr (i+j) x
86+
basicUnsafeWrite (UnsafeMVector i _ arr) j x = writeArray arr (i+j) x
8787

8888
{-# INLINE basicUnsafeCopy #-}
89-
basicUnsafeCopy (MVector i n dst) (MVector j _ src)
89+
basicUnsafeCopy (UnsafeMVector i n dst) (UnsafeMVector j _ src)
9090
= copyMutableArray dst i src j n
9191

92-
basicUnsafeMove dst@(MVector iDst n arrDst) src@(MVector iSrc _ arrSrc)
92+
basicUnsafeMove dst@(UnsafeMVector iDst n arrDst) src@(UnsafeMVector iSrc _ arrSrc)
9393
= case n of
9494
0 -> return ()
9595
1 -> readArray arrSrc iSrc >>= writeArray arrDst iDst

vector/src/Data/Vector/Primitive.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ import Prelude
179179
, (==))
180180

181181
pattern Vector :: Int -> Int -> ByteArray -> Vector a
182-
pattern Vector i j arr = U.Vector i j arr
182+
pattern Vector i j arr = U.UnsafeVector i j arr
183183
{-# COMPLETE Vector #-}
184184
{-# DEPRECATED Vector "Use Vector constructor exported from \"Data.Vector.Primitive.Unsafe\"" #-}
185185

vector/src/Data/Vector/Primitive/Mutable.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ import Prelude ( Ord, Bool, Int, Maybe, Ordering(..) )
8585

8686

8787
pattern MVector :: Int -> Int -> MutableByteArray s -> MVector s a
88-
pattern MVector i j arr = U.MVector i j arr
88+
pattern MVector i j arr = U.UnsafeMVector i j arr
8989
{-# COMPLETE MVector #-}
9090
{-# DEPRECATED MVector "Use MVector exported from \"Data.Vector.Primitive.Mutable.Unsafe\"" #-}
9191

vector/src/Data/Vector/Primitive/Mutable/Unsafe.hs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ import Unsafe.Coerce
4343
type role MVector nominal nominal
4444

4545
-- | Mutable vectors of primitive types.
46-
data MVector s a = MVector
46+
data MVector s a = UnsafeMVector
4747
{ unsafeOffset :: !Int
4848
-- ^ Offset into the `unsafeMutableByteArray` in number of elements, not bytes
4949
, unsafeSize :: !Int
@@ -71,25 +71,25 @@ unsafeCoerceMVector = unsafeCoerce
7171
-- | @since 0.13.0.0
7272
unsafeCast :: forall a b s. (HasCallStack, Prim a, Prim b) => MVector s a -> MVector s b
7373
{-# INLINE unsafeCast #-}
74-
unsafeCast (MVector o n ba)
75-
| sizeOf (undefined :: a) == sizeOf (undefined :: b) = MVector o n ba
74+
unsafeCast (UnsafeMVector o n ba)
75+
| sizeOf (undefined :: a) == sizeOf (undefined :: b) = UnsafeMVector o n ba
7676
| otherwise = error "Element size mismatch"
7777

7878

7979

8080
instance NFData (MVector s a) where
81-
rnf (MVector _ _ _) = ()
81+
rnf (UnsafeMVector _ _ _) = ()
8282

8383
instance NFData1 (MVector s) where
84-
liftRnf _ (MVector _ _ _) = ()
84+
liftRnf _ (UnsafeMVector _ _ _) = ()
8585

8686
instance Prim a => MG.MVector MVector a where
87-
basicLength (MVector _ n _) = n
88-
basicUnsafeSlice j m (MVector i _ arr)
89-
= MVector (i+j) m arr
87+
basicLength (UnsafeMVector _ n _) = n
88+
basicUnsafeSlice j m (UnsafeMVector i _ arr)
89+
= UnsafeMVector (i+j) m arr
9090

9191
{-# INLINE basicOverlaps #-}
92-
basicOverlaps (MVector i m arr1) (MVector j n arr2)
92+
basicOverlaps (UnsafeMVector i m arr1) (UnsafeMVector j n arr2)
9393
= sameMutableByteArray arr1 arr2
9494
&& (between i j (j+n) || between j i (i+m))
9595
where
@@ -99,36 +99,36 @@ instance Prim a => MG.MVector MVector a where
9999
basicUnsafeNew n
100100
| n < 0 = error $ "Primitive.basicUnsafeNew: negative length: " ++ show n
101101
| n > mx = error $ "Primitive.basicUnsafeNew: length too large: " ++ show n
102-
| otherwise = MVector 0 n `liftM` newByteArray (n * size)
102+
| otherwise = UnsafeMVector 0 n `liftM` newByteArray (n * size)
103103
where
104104
size = sizeOf (undefined :: a)
105105
mx = maxBound `div` size :: Int
106106

107107
{-# INLINE basicInitialize #-}
108-
basicInitialize (MVector off n v) =
108+
basicInitialize (UnsafeMVector off n v) =
109109
setByteArray v (off * size) (n * size) (0 :: Word8)
110110
where
111111
size = sizeOf (undefined :: a)
112112

113113

114114
{-# INLINE basicUnsafeRead #-}
115-
basicUnsafeRead (MVector i _ arr) j = readByteArray arr (i+j)
115+
basicUnsafeRead (UnsafeMVector i _ arr) j = readByteArray arr (i+j)
116116

117117
{-# INLINE basicUnsafeWrite #-}
118-
basicUnsafeWrite (MVector i _ arr) j x = writeByteArray arr (i+j) x
118+
basicUnsafeWrite (UnsafeMVector i _ arr) j x = writeByteArray arr (i+j) x
119119

120120
{-# INLINE basicUnsafeCopy #-}
121-
basicUnsafeCopy (MVector i n dst) (MVector j _ src)
121+
basicUnsafeCopy (UnsafeMVector i n dst) (UnsafeMVector j _ src)
122122
= copyMutableByteArray dst (i*sz) src (j*sz) (n*sz)
123123
where
124124
sz = sizeOf (undefined :: a)
125125

126126
{-# INLINE basicUnsafeMove #-}
127-
basicUnsafeMove (MVector i n dst) (MVector j _ src)
127+
basicUnsafeMove (UnsafeMVector i n dst) (UnsafeMVector j _ src)
128128
= moveByteArray dst (i*sz) src (j*sz) (n * sz)
129129
where
130130
sz = sizeOf (undefined :: a)
131131

132132
{-# INLINE basicSet #-}
133-
basicSet (MVector i n arr) x = setByteArray arr i n x
133+
basicSet (UnsafeMVector i n arr) x = setByteArray arr i n x
134134

vector/src/Data/Vector/Primitive/Unsafe.hs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ import Data.Vector.Primitive.Mutable.Unsafe (MVector(..))
4848
type role Vector nominal
4949

5050
-- | Unboxed vectors of primitive types.
51-
data Vector a = Vector
51+
data Vector a = UnsafeVector
5252
{ unsafeOffset :: !Int
5353
-- ^ Offset into `unsafeByteArray` in number of elements, not bytes
5454
, unsafeSize :: !Int
@@ -79,31 +79,31 @@ unsafeCoerceVector = unsafeCoerce
7979
-- | @since 0.13.0.0
8080
unsafeCast :: forall a b. (HasCallStack, Prim a, Prim b) => Vector a -> Vector b
8181
{-# INLINE unsafeCast #-}
82-
unsafeCast (Vector o n ba)
83-
| sizeOf (undefined :: a) == sizeOf (undefined :: b) = Vector o n ba
82+
unsafeCast (UnsafeVector o n ba)
83+
| sizeOf (undefined :: a) == sizeOf (undefined :: b) = UnsafeVector o n ba
8484
| otherwise = error "Element size mismatch"
8585

8686

8787
instance Prim a => G.Vector Vector a where
8888
{-# INLINE basicUnsafeFreeze #-}
89-
basicUnsafeFreeze (MVector i n marr)
90-
= Vector i n `liftM` unsafeFreezeByteArray marr
89+
basicUnsafeFreeze (UnsafeMVector i n marr)
90+
= UnsafeVector i n `liftM` unsafeFreezeByteArray marr
9191

9292
{-# INLINE basicUnsafeThaw #-}
93-
basicUnsafeThaw (Vector i n arr)
94-
= MVector i n `liftM` unsafeThawByteArray arr
93+
basicUnsafeThaw (UnsafeVector i n arr)
94+
= UnsafeMVector i n `liftM` unsafeThawByteArray arr
9595

9696
{-# INLINE basicLength #-}
97-
basicLength (Vector _ n _) = n
97+
basicLength (UnsafeVector _ n _) = n
9898

9999
{-# INLINE basicUnsafeSlice #-}
100-
basicUnsafeSlice j n (Vector i _ arr) = Vector (i+j) n arr
100+
basicUnsafeSlice j n (UnsafeVector i _ arr) = UnsafeVector (i+j) n arr
101101

102102
{-# INLINE basicUnsafeIndexM #-}
103-
basicUnsafeIndexM (Vector i _ arr) j = return $! indexByteArray arr (i+j)
103+
basicUnsafeIndexM (UnsafeVector i _ arr) j = return $! indexByteArray arr (i+j)
104104

105105
{-# INLINE basicUnsafeCopy #-}
106-
basicUnsafeCopy (MVector i n dst) (Vector j _ src)
106+
basicUnsafeCopy (UnsafeMVector i n dst) (UnsafeVector j _ src)
107107
= copyByteArray dst (i*sz) src (j*sz) (n*sz)
108108
where
109109
sz = sizeOf (undefined :: a)
@@ -113,11 +113,11 @@ instance Prim a => G.Vector Vector a where
113113

114114

115115
instance NFData (Vector a) where
116-
rnf (Vector _ _ _) = ()
116+
rnf (UnsafeVector _ _ _) = ()
117117

118118
-- | @since 0.12.1.0
119119
instance NFData1 Vector where
120-
liftRnf _ (Vector _ _ _) = ()
120+
liftRnf _ (UnsafeVector _ _ _) = ()
121121

122122
instance (Show a, Prim a) => Show (Vector a) where
123123
showsPrec = G.showsPrec

vector/src/Data/Vector/Storable.hs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ izipWith6 = G.izipWith6
911911
-- True
912912
isSameVector :: (Storable a) => Vector a -> Vector a -> Bool
913913
{-# INLINE isSameVector #-}
914-
isSameVector (Vector n1 ptr1) (Vector n2 ptr2) = n1 == n2 && ptr1 == ptr2
914+
isSameVector (UnsafeVector n1 ptr1) (UnsafeVector n2 ptr2) = n1 == n2 && ptr1 == ptr2
915915

916916

917917
-- Monadic zipping
@@ -1896,9 +1896,9 @@ iforA_ = G.iforA_
18961896
-- underlying memory block.
18971897
unsafeCast :: forall a b. (Storable a, Storable b) => Vector a -> Vector b
18981898
{-# INLINE unsafeCast #-}
1899-
unsafeCast (Vector n fp)
1900-
= Vector ((n * sizeOf (undefined :: a)) `div` sizeOf (undefined :: b))
1901-
(castForeignPtr fp)
1899+
unsafeCast (UnsafeVector n fp)
1900+
= UnsafeVector ((n * sizeOf (undefined :: a)) `div` sizeOf (undefined :: b))
1901+
(castForeignPtr fp)
19021902

19031903
-- Conversions - Mutable vectors
19041904
-- -----------------------------

vector/src/Data/Vector/Storable/Mutable.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ import Prelude (Int, Ord, Bool, Maybe, Ordering(..) )
9494

9595

9696
pattern MVector :: Int -> ForeignPtr a -> MVector s a
97-
pattern MVector i ptr = U.MVector i ptr
97+
pattern MVector i ptr = U.UnsafeMVector i ptr
9898
{-# COMPLETE MVector #-}
9999
{-# DEPRECATED MVector "Use MVector exported from Data.Vector.Strict.Mutable.Unsafe" #-}
100100

0 commit comments

Comments
 (0)