fixed-vector 1.1.0.0 → 1.2.0.0
raw patch · 7 files changed
+32/−15 lines, 7 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Data.Vector.Fixed: instance (Data.Vector.Fixed.Cont.Arity n, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Data.Vector.Fixed.VecList n a)
- Data.Vector.Fixed: instance Data.Semigroup.Semigroup a => Data.Semigroup.Semigroup (Data.Vector.Fixed.Only a)
- Data.Vector.Fixed.Boxed: instance (Data.Vector.Fixed.Cont.Arity n, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Data.Vector.Fixed.Boxed.Vec n a)
- Data.Vector.Fixed.Cont: instance b ~ a => Data.Vector.Fixed.Cont.Vector ((,) b) a
- Data.Vector.Fixed.Primitive: instance (Data.Vector.Fixed.Cont.Arity n, Data.Primitive.Types.Prim a, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Data.Vector.Fixed.Primitive.Vec n a)
- Data.Vector.Fixed.Storable: instance (Data.Vector.Fixed.Cont.Arity n, Foreign.Storable.Storable a, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Data.Vector.Fixed.Storable.Vec n a)
- Data.Vector.Fixed.Unboxed: instance (Data.Vector.Fixed.Unboxed.Unbox n a, Data.Semigroup.Semigroup a) => Data.Semigroup.Semigroup (Data.Vector.Fixed.Unboxed.Vec n a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) Data.Monoid.All
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) Data.Monoid.Any
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) Data.Monoid.All
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) Data.Monoid.Any
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Unboxed.Unbox n Data.Monoid.All
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Unboxed.Unbox n Data.Monoid.Any
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) (Data.Monoid.Dual a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) (Data.Monoid.Product a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) (Data.Monoid.Sum a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) (Data.Monoid.Dual a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) (Data.Monoid.Product a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) (Data.Monoid.Sum a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Unboxed.Unbox n (Data.Monoid.Dual a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Unboxed.Unbox n (Data.Monoid.Product a)
- Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Unboxed.Unbox n (Data.Monoid.Sum a)
+ Data.Vector.Fixed: instance (Data.Vector.Fixed.Cont.Arity n, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Data.Vector.Fixed.VecList n a)
+ Data.Vector.Fixed: instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Data.Vector.Fixed.Only a)
+ Data.Vector.Fixed.Boxed: instance (Data.Vector.Fixed.Cont.Arity n, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Data.Vector.Fixed.Boxed.Vec n a)
+ Data.Vector.Fixed.Cont: instance (b ~ a) => Data.Vector.Fixed.Cont.Vector ((,) b) a
+ Data.Vector.Fixed.Primitive: instance (Data.Vector.Fixed.Cont.Arity n, Data.Primitive.Types.Prim a, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Data.Vector.Fixed.Primitive.Vec n a)
+ Data.Vector.Fixed.Storable: instance (Data.Vector.Fixed.Cont.Arity n, Foreign.Storable.Storable a, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Data.Vector.Fixed.Storable.Vec n a)
+ Data.Vector.Fixed.Unboxed: instance (Data.Vector.Fixed.Unboxed.Unbox n a, GHC.Base.Semigroup a) => GHC.Base.Semigroup (Data.Vector.Fixed.Unboxed.Vec n a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) Data.Semigroup.Internal.All
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) Data.Semigroup.Internal.Any
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) Data.Semigroup.Internal.All
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) Data.Semigroup.Internal.Any
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Unboxed.Unbox n Data.Semigroup.Internal.All
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Cont.Arity n => Data.Vector.Fixed.Unboxed.Unbox n Data.Semigroup.Internal.Any
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) (Data.Semigroup.Internal.Dual a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) (Data.Semigroup.Internal.Product a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.IVector (Data.Vector.Fixed.Unboxed.Vec n) (Data.Semigroup.Internal.Sum a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) (Data.Semigroup.Internal.Dual a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) (Data.Semigroup.Internal.Product a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Mutable.MVector (Data.Vector.Fixed.Unboxed.MVec n) (Data.Semigroup.Internal.Sum a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Unboxed.Unbox n (Data.Semigroup.Internal.Dual a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Unboxed.Unbox n (Data.Semigroup.Internal.Product a)
+ Data.Vector.Fixed.Unboxed: instance Data.Vector.Fixed.Unboxed.Unbox n a => Data.Vector.Fixed.Unboxed.Unbox n (Data.Semigroup.Internal.Sum a)
- Data.Vector.Fixed: elementTy :: (Vector v a, KnownNat k, (k + 1) <= Dim v, Functor f) => proxy k -> (a -> f a) -> (v a -> f (v a))
+ Data.Vector.Fixed: elementTy :: (Vector v a, KnownNat k, k + 1 <= Dim v, Functor f) => proxy k -> (a -> f a) -> (v a -> f (v a))
- Data.Vector.Fixed: index :: (Vector v a, KnownNat k, (k + 1) <= Dim v) => v a -> proxy k -> a
+ Data.Vector.Fixed: index :: (Vector v a, KnownNat k, k + 1 <= Dim v) => v a -> proxy k -> a
- Data.Vector.Fixed: set :: (Vector v a, KnownNat k, (k + 1) <= Dim v) => proxy k -> a -> v a -> v a
+ Data.Vector.Fixed: set :: (Vector v a, KnownNat k, k + 1 <= Dim v) => proxy k -> a -> v a -> v a
Files
- ChangeLog.md +4/−0
- Data/Vector/Fixed/Boxed.hs +4/−3
- Data/Vector/Fixed/Internal.hs +11/−2
- Data/Vector/Fixed/Primitive.hs +4/−3
- Data/Vector/Fixed/Storable.hs +4/−3
- Data/Vector/Fixed/Unboxed.hs +4/−3
- fixed-vector.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+Changes in 1.2.0.0++ * `Show` instance for data type now respect precedence.+ Changes in 1.1.0.0 * GHC8.4 compatibility release. Semigroup instances added and
Data/Vector/Fixed/Boxed.hs view
@@ -32,11 +32,12 @@ import Foreign.Storable (Storable(..)) import GHC.TypeLits import Prelude ( Show(..),Eq(..),Ord(..),Functor(..),Monad(..)- , (++),($),($!),error,seq)+ , ($),($!),error,seq) import Data.Vector.Fixed hiding (index) import Data.Vector.Fixed.Mutable-import qualified Data.Vector.Fixed.Cont as C+import qualified Data.Vector.Fixed.Cont as C+import qualified Data.Vector.Fixed.Internal as I @@ -90,7 +91,7 @@ ---------------------------------------------------------------- instance (Arity n, Show a) => Show (Vec n a) where- show v = "fromList " ++ show (toList v)+ showsPrec = I.showsPrec instance (Arity n, NFData a) => NFData (Vec n a) where rnf = foldl (\r a -> r `seq` rnf a) ()
Data/Vector/Fixed/Internal.hs view
@@ -61,9 +61,13 @@ -- function with additional type parameter which is used to fix type -- of vector being constructed. It could be used as: --+-- > v = mkN (Proxy :: Proxy (Int,Int,Int)) 1 2 3+--+-- or using @TypeApplications@ syntax:+-- -- > v = mkN (Proxy @ (Int,Int,Int)) 1 2 3 ----- Or if type of @r@ is fixed elsewhere+-- or if type of @v@ is fixed elsewhere -- -- > v = mkN [v] 1 2 3 mkN :: forall proxy v a. (Vector v a)@@ -100,7 +104,7 @@ -- -- >>> import Data.Vector.Fixed.Boxed (Vec2,Vec3) -- >>> replicateM (Just 3) :: Maybe (Vec3 Int)--- Just fromList [3,3,3]+-- Just (fromList [3,3,3]) -- >>> replicateM (putStrLn "Hi!") :: IO (Vec2 ()) -- Hi! -- Hi!@@ -657,3 +661,8 @@ fromFoldable :: (Vector v a, T.Foldable f) => f a -> Maybe (v a) {-# INLINE fromFoldable #-} fromFoldable = fromListM . T.toList++-- | Generic definition of 'Prelude.showsPrec'+showsPrec :: (Vector v a, Show a) => Int -> v a -> ShowS+showsPrec d v = showParen (d > 10) $ showString "fromList " . Prelude.showsPrec 11 (toList v)+{-# INLINE showsPrec #-}
Data/Vector/Fixed/Primitive.hs view
@@ -35,12 +35,13 @@ import qualified Foreign.Storable as Foreign (Storable(..)) import GHC.TypeLits import Prelude (Show(..),Eq(..),Ord(..),Num(..))-import Prelude ((++),($),($!),undefined,seq)+import Prelude (($),($!),undefined,seq) import Data.Vector.Fixed hiding (index) import Data.Vector.Fixed.Mutable-import qualified Data.Vector.Fixed.Cont as C+import qualified Data.Vector.Fixed.Cont as C+import qualified Data.Vector.Fixed.Internal as I @@ -70,7 +71,7 @@ ---------------------------------------------------------------- instance (Arity n, Prim a, Show a) => Show (Vec n a) where- show v = "fromList " ++ show (toList v)+ showsPrec = I.showsPrec instance (Arity n, Prim a, NFData a) => NFData (Vec n a) where rnf = foldl (\r a -> r `seq` rnf a) ()
Data/Vector/Fixed/Storable.hs view
@@ -40,11 +40,12 @@ import GHC.Ptr ( Ptr(..) ) import GHC.TypeLits import Prelude ( Show(..),Eq(..),Ord(..),Num(..),Monad(..),IO,Int- , (++),($),undefined,seq)+ , ($),undefined,seq) import Data.Vector.Fixed hiding (index) import Data.Vector.Fixed.Mutable-import qualified Data.Vector.Fixed.Cont as C+import qualified Data.Vector.Fixed.Cont as C+import qualified Data.Vector.Fixed.Internal as I @@ -94,7 +95,7 @@ ---------------------------------------------------------------- instance (Arity n, Storable a, Show a) => Show (Vec n a) where- show v = "fromList " ++ show (toList v)+ showsPrec = I.showsPrec instance (Arity n, Storable a, NFData a) => NFData (Vec n a) where rnf = foldl (\r a -> r `seq` rnf a) ()
Data/Vector/Fixed/Unboxed.hs view
@@ -39,14 +39,15 @@ import Foreign.Storable (Storable(..)) import GHC.TypeLits import Prelude ( Show(..),Eq(..),Ord(..),Int,Double,Float,Char,Bool(..)- , (++),($),(.),seq)+ , ($),(.),seq) -import Data.Vector.Fixed (Dim,Vector(..),VectorN,toList,eq,ord,replicate,zipWith,foldl,+import Data.Vector.Fixed (Dim,Vector(..),VectorN,eq,ord,replicate,zipWith,foldl, defaultSizeOf,defaultAlignemnt,defaultPeek,defaultPoke ) import Data.Vector.Fixed.Mutable import qualified Data.Vector.Fixed.Cont as C import qualified Data.Vector.Fixed.Primitive as P+import qualified Data.Vector.Fixed.Internal as I @@ -74,7 +75,7 @@ ---------------------------------------------------------------- instance (Arity n, Show a, Unbox n a) => Show (Vec n a) where- show v = "fromList " ++ show (toList v)+ showsPrec = I.showsPrec instance (Arity n, Unbox n a, NFData a) => NFData (Vec n a) where rnf = foldl (\r a -> r `seq` rnf a) ()
fixed-vector.cabal view
@@ -1,5 +1,5 @@ Name: fixed-vector-Version: 1.1.0.0+Version: 1.2.0.0 Synopsis: Generic vectors with statically known size. Description: Generic library for vectors with statically known