fixed-vector-hetero 0.3.1.1 → 0.3.1.2
raw patch · 4 files changed
+7/−3 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.Vector.HFixed.Class: WitAllInstancesCons :: WitAllInstances c xs -> WitAllInstances c (x : xs)
- Data.Vector.HFixed.Class: WitAllInstancesNil :: WitAllInstances c '[]
- Data.Vector.HFixed.Class: WitConcat :: WitConcat xs ys
- Data.Vector.HFixed.Class: WitLenWrap :: WitLenWrap f xs
- Data.Vector.HFixed.Class: WitNestedFun :: WitNestedFun xs ys r
- Data.Vector.HFixed.Class: WitWrapIndex :: WitWrapIndex f n xs
- Data.Vector.HFixed.Class: WitWrapped :: WitWrapped f xs
- Data.Vector.HFixed.Cont: Cons :: x -> VecList xs -> VecList (x : xs)
- Data.Vector.HFixed.Cont: ConsF :: f x -> VecListF xs f -> VecListF (x : xs) f
- Data.Vector.HFixed.Cont: Nil :: VecList '[]
- Data.Vector.HFixed.Cont: NilF :: VecListF '[] f
+ Data.Vector.HFixed: type Elems v = GElems (Rep v);
+ Data.Vector.HFixed: type family ValueAt n xs :: *;
+ Data.Vector.HFixed: }
+ Data.Vector.HFixed.Class: [WitAllInstancesCons] :: c x => WitAllInstances c xs -> WitAllInstances c (x : xs)
+ Data.Vector.HFixed.Class: [WitAllInstancesNil] :: WitAllInstances c '[]
+ Data.Vector.HFixed.Class: [WitConcat] :: (Arity (xs ++ ys)) => WitConcat xs ys
+ Data.Vector.HFixed.Class: [WitLenWrap] :: Len xs ~ Len (Wrap f xs) => WitLenWrap f xs
+ Data.Vector.HFixed.Class: [WitNestedFun] :: (Fn (xs ++ ys) r ~ Fn xs (Fn ys r)) => WitNestedFun xs ys r
+ Data.Vector.HFixed.Class: [WitWrapIndex] :: (ValueAt n (Wrap f xs) ~ f (ValueAt n xs), Index n (Wrap f xs), Arity (Wrap f xs)) => WitWrapIndex f n xs
+ Data.Vector.HFixed.Class: [WitWrapped] :: Arity (Wrap f xs) => WitWrapped f xs
+ Data.Vector.HFixed.Class: type Elems v = GElems (Rep v);
+ Data.Vector.HFixed.Class: type family NewElems n xs a :: [*];
+ Data.Vector.HFixed.Class: }
+ Data.Vector.HFixed.Cont: [ConsF] :: f x -> VecListF xs f -> VecListF (x : xs) f
+ Data.Vector.HFixed.Cont: [Cons] :: x -> VecList xs -> VecList (x : xs)
+ Data.Vector.HFixed.Cont: [NilF] :: VecListF '[] f
+ Data.Vector.HFixed.Cont: [Nil] :: VecList '[]
+ Data.Vector.HFixed.Cont: type Elems v = GElems (Rep v);
+ Data.Vector.HFixed.Cont: type family ValueAt n xs :: *;
+ Data.Vector.HFixed.Cont: }
- Data.Vector.HFixed: Proxy :: Proxy
+ Data.Vector.HFixed: Proxy :: Proxy k
- Data.Vector.HFixed: class Arity (Elems v) => HVector v where type family Elems v :: [*] Elems v = GElems (Rep v) construct = fmap to gconstruct inspect v = ginspect (from v)
+ Data.Vector.HFixed: class Arity (Elems v) => HVector v where type Elems v :: [*] type Elems v = GElems (Rep v) construct = fmap to gconstruct inspect v = ginspect (from v) where {
- Data.Vector.HFixed: class Arity (ElemsF v) => HVectorF (v :: (* -> *) -> *) where type family ElemsF v :: [*]
+ Data.Vector.HFixed: class Arity (ElemsF v) => HVectorF (v :: (* -> *) -> *) where type ElemsF v :: [*] where {
- Data.Vector.HFixed: class Arity n => Index (n :: *) (xs :: [*]) where type family ValueAt n xs :: *
+ Data.Vector.HFixed: class Arity n => Index (n :: *) (xs :: [*]) where type ValueAt n xs :: * where {
- Data.Vector.HFixed: construct :: HVector v => Fun (Elems v) v
+ Data.Vector.HFixed: construct :: (HVector v, Generic v, GHVector (Rep v), GElems (Rep v) ~ Elems v) => Fun (Elems v) v
- Data.Vector.HFixed: data Proxy (t :: k) :: k -> *
+ Data.Vector.HFixed: data Proxy k (t :: k) :: forall k. k -> *
- Data.Vector.HFixed: elementChTy :: (Index (ToPeano n) (Elems v), a ~ ValueAt (ToPeano n) (Elems v), HVector v, HVector w, Elems w ~ NewElems (ToPeano n) (Elems v) b, Functor f) => proxy n -> (a -> f b) -> (v -> f w)
+ Data.Vector.HFixed: elementChTy :: forall a b f n v w proxy. (Index (ToPeano n) (Elems v), a ~ ValueAt (ToPeano n) (Elems v), HVector v, HVector w, Elems w ~ NewElems (ToPeano n) (Elems v) b, Functor f) => proxy n -> (a -> f b) -> (v -> f w)
- Data.Vector.HFixed: elementTy :: (Index (ToPeano n) (Elems v), ValueAt (ToPeano n) (Elems v) ~ a, NatIso (ToPeano n) n, HVector v, Functor f) => proxy n -> (a -> f a) -> (v -> f v)
+ Data.Vector.HFixed: elementTy :: forall n a f v proxy. (Index (ToPeano n) (Elems v), ValueAt (ToPeano n) (Elems v) ~ a, NatIso (ToPeano n) n, HVector v, Functor f) => proxy n -> (a -> f a) -> (v -> f v)
- Data.Vector.HFixed: inspect :: HVector v => v -> Fun (Elems v) a -> a
+ Data.Vector.HFixed: inspect :: (HVector v, Generic v, GHVector (Rep v), GElems (Rep v) ~ Elems v) => v -> Fun (Elems v) a -> a
- Data.Vector.HFixed.Class: Proxy :: Proxy
+ Data.Vector.HFixed.Class: Proxy :: Proxy k
- Data.Vector.HFixed.Class: class Arity (Elems v) => HVector v where type family Elems v :: [*] Elems v = GElems (Rep v) construct = fmap to gconstruct inspect v = ginspect (from v)
+ Data.Vector.HFixed.Class: class Arity (Elems v) => HVector v where type Elems v :: [*] type Elems v = GElems (Rep v) construct = fmap to gconstruct inspect v = ginspect (from v) where {
- Data.Vector.HFixed.Class: class Arity (ElemsF v) => HVectorF (v :: (* -> *) -> *) where type family ElemsF v :: [*]
+ Data.Vector.HFixed.Class: class Arity (ElemsF v) => HVectorF (v :: (* -> *) -> *) where type ElemsF v :: [*] where {
- Data.Vector.HFixed.Class: class Arity n => Index (n :: *) (xs :: [*]) where type family ValueAt n xs :: * type family NewElems n xs a :: [*]
+ Data.Vector.HFixed.Class: class Arity n => Index (n :: *) (xs :: [*]) where type ValueAt n xs :: * type NewElems n xs a :: [*] where {
- Data.Vector.HFixed.Class: construct :: HVector v => Fun (Elems v) v
+ Data.Vector.HFixed.Class: construct :: (HVector v, Generic v, GHVector (Rep v), GElems (Rep v) ~ Elems v) => Fun (Elems v) v
- Data.Vector.HFixed.Class: curryMany :: Arity xs => Fun (xs ++ ys) r -> Fun xs (Fun ys r)
+ Data.Vector.HFixed.Class: curryMany :: forall xs ys r. Arity xs => Fun (xs ++ ys) r -> Fun xs (Fun ys r)
- Data.Vector.HFixed.Class: data Proxy (t :: k) :: k -> *
+ Data.Vector.HFixed.Class: data Proxy k (t :: k) :: forall k. k -> *
- Data.Vector.HFixed.Class: data WitLenWrap f xs
+ Data.Vector.HFixed.Class: data WitLenWrap :: (* -> *) -> [*] -> *
- Data.Vector.HFixed.Class: homConstruct :: (Vector v a, HomArity (Dim v) a) => Fun (HomList (Dim v) a) (v a)
+ Data.Vector.HFixed.Class: homConstruct :: forall v a. (Vector v a, HomArity (Dim v) a) => Fun (HomList (Dim v) a) (v a)
- Data.Vector.HFixed.Class: inspect :: HVector v => v -> Fun (Elems v) a -> a
+ Data.Vector.HFixed.Class: inspect :: (HVector v, Generic v, GHVector (Rep v), GElems (Rep v) ~ Elems v) => v -> Fun (Elems v) a -> a
- Data.Vector.HFixed.Class: lensWorkerF :: (Functor f, Arity xs) => (x -> f y) -> Fun (y : xs) r -> Fun (x : xs) (f r)
+ Data.Vector.HFixed.Class: lensWorkerF :: forall f r x y xs. (Functor f, Arity xs) => (x -> f y) -> Fun (y : xs) r -> Fun (x : xs) (f r)
- Data.Vector.HFixed.Class: shuffleF :: Arity xs => (x -> Fun xs r) -> Fun xs (x -> r)
+ Data.Vector.HFixed.Class: shuffleF :: forall x xs r. Arity xs => (x -> Fun xs r) -> Fun xs (x -> r)
- Data.Vector.HFixed.Class: shuffleTF :: Arity xs => (x -> TFun f xs r) -> TFun f xs (x -> r)
+ Data.Vector.HFixed.Class: shuffleTF :: forall f x xs r. Arity xs => (x -> TFun f xs r) -> TFun f xs (x -> r)
- Data.Vector.HFixed.Cont: class Arity (Elems v) => HVector v where type family Elems v :: [*] Elems v = GElems (Rep v) construct = fmap to gconstruct inspect v = ginspect (from v)
+ Data.Vector.HFixed.Cont: class Arity (Elems v) => HVector v where type Elems v :: [*] type Elems v = GElems (Rep v) construct = fmap to gconstruct inspect v = ginspect (from v) where {
- Data.Vector.HFixed.Cont: class Arity (ElemsF v) => HVectorF (v :: (* -> *) -> *) where type family ElemsF v :: [*]
+ Data.Vector.HFixed.Cont: class Arity (ElemsF v) => HVectorF (v :: (* -> *) -> *) where type ElemsF v :: [*] where {
- Data.Vector.HFixed.Cont: class Arity n => Index (n :: *) (xs :: [*]) where type family ValueAt n xs :: *
+ Data.Vector.HFixed.Cont: class Arity n => Index (n :: *) (xs :: [*]) where type ValueAt n xs :: * where {
- Data.Vector.HFixed.Cont: construct :: HVector v => Fun (Elems v) v
+ Data.Vector.HFixed.Cont: construct :: (HVector v, Generic v, GHVector (Rep v), GElems (Rep v) ~ Elems v) => Fun (Elems v) v
- Data.Vector.HFixed.Cont: distribute :: (Arity xs, Functor f) => f (ContVec xs) -> ContVecF xs f
+ Data.Vector.HFixed.Cont: distribute :: forall f xs. (Arity xs, Functor f) => f (ContVec xs) -> ContVecF xs f
- Data.Vector.HFixed.Cont: distributeF :: (Arity xs, Functor f) => f (ContVecF xs g) -> ContVecF xs (f `Compose` g)
+ Data.Vector.HFixed.Cont: distributeF :: forall f g xs. (Arity xs, Functor f) => f (ContVecF xs g) -> ContVecF xs (f `Compose` g)
- Data.Vector.HFixed.Cont: foldl :: (ArityC c xs) => Proxy c -> (forall a. c a => b -> a -> b) -> b -> ContVec xs -> b
+ Data.Vector.HFixed.Cont: foldl :: forall xs c b. (ArityC c xs) => Proxy c -> (forall a. c a => b -> a -> b) -> b -> ContVec xs -> b
- Data.Vector.HFixed.Cont: foldr :: (ArityC c xs) => Proxy c -> (forall a. c a => a -> b -> b) -> b -> ContVec xs -> b
+ Data.Vector.HFixed.Cont: foldr :: forall xs c b. (ArityC c xs) => Proxy c -> (forall a. c a => a -> b -> b) -> b -> ContVec xs -> b
- Data.Vector.HFixed.Cont: head :: Arity xs => ContVec (x : xs) -> x
+ Data.Vector.HFixed.Cont: head :: forall x xs. Arity xs => ContVec (x : xs) -> x
- Data.Vector.HFixed.Cont: inspect :: HVector v => v -> Fun (Elems v) a -> a
+ Data.Vector.HFixed.Cont: inspect :: (HVector v, Generic v, GHVector (Rep v), GElems (Rep v) ~ Elems v) => v -> Fun (Elems v) a -> a
- Data.Vector.HFixed.Cont: monomorphize :: (ArityC c xs) => Proxy c -> (forall x. c x => x -> a) -> ContVec xs -> ContVec (Len xs) a
+ Data.Vector.HFixed.Cont: monomorphize :: forall c xs a. (ArityC c xs) => Proxy c -> (forall x. c x => x -> a) -> ContVec xs -> ContVec (Len xs) a
- Data.Vector.HFixed.Cont: monomorphizeF :: (ArityC c xs) => Proxy c -> (forall x. c x => f x -> a) -> ContVecF xs f -> ContVec (Len xs) a
+ Data.Vector.HFixed.Cont: monomorphizeF :: forall c xs a f. (ArityC c xs) => Proxy c -> (forall x. c x => f x -> a) -> ContVecF xs f -> ContVec (Len xs) a
- Data.Vector.HFixed.Cont: replicate :: (ArityC c xs) => Proxy c -> (forall x. c x => x) -> ContVec xs
+ Data.Vector.HFixed.Cont: replicate :: forall xs c. (ArityC c xs) => Proxy c -> (forall x. c x => x) -> ContVec xs
- Data.Vector.HFixed.Cont: replicateF :: Arity xs => (forall a. f a) -> ContVecF xs f
+ Data.Vector.HFixed.Cont: replicateF :: forall f xs. Arity xs => (forall a. f a) -> ContVecF xs f
- Data.Vector.HFixed.Cont: replicateM :: (ArityC c xs, Monad m) => Proxy c -> (forall x. c x => m x) -> m (ContVec xs)
+ Data.Vector.HFixed.Cont: replicateM :: forall xs c m. (ArityC c xs, Monad m) => Proxy c -> (forall x. c x => m x) -> m (ContVec xs)
- Data.Vector.HFixed.Cont: unfoldr :: (ArityC c xs) => Proxy c -> (forall a. c a => b -> (a, b)) -> b -> ContVec xs
+ Data.Vector.HFixed.Cont: unfoldr :: forall xs c b. (ArityC c xs) => Proxy c -> (forall a. c a => b -> (a, b)) -> b -> ContVec xs
- Data.Vector.HFixed.Cont: zipFold :: (ArityC c xs, Monoid m) => Proxy c -> (forall a. c a => a -> a -> m) -> ContVec xs -> ContVec xs -> m
+ Data.Vector.HFixed.Cont: zipFold :: forall xs c m. (ArityC c xs, Monoid m) => Proxy c -> (forall a. c a => a -> a -> m) -> ContVec xs -> ContVec xs -> m
- Data.Vector.HFixed.Cont: zipMono :: (ArityC c xs) => Proxy c -> (forall a. c a => a -> a -> a) -> ContVec xs -> ContVec xs -> ContVec xs
+ Data.Vector.HFixed.Cont: zipMono :: forall xs c. (ArityC c xs) => Proxy c -> (forall a. c a => a -> a -> a) -> ContVec xs -> ContVec xs -> ContVec xs
- Data.Vector.HFixed.Cont: zipMonoF :: (ArityC c xs) => Proxy c -> (forall a. c a => f a -> g a -> h a) -> ContVecF xs f -> ContVecF xs g -> ContVecF xs h
+ Data.Vector.HFixed.Cont: zipMonoF :: forall xs f g h c. (ArityC c xs) => Proxy c -> (forall a. c a => f a -> g a -> h a) -> ContVecF xs f -> ContVecF xs g -> ContVecF xs h
- Data.Vector.HFixed.HVec: newMutableHVec :: (PrimMonad m, Arity xs) => m (MutableHVec (PrimState m) xs)
+ Data.Vector.HFixed.HVec: newMutableHVec :: forall m xs. (PrimMonad m, Arity xs) => m (MutableHVec (PrimState m) xs)
- Data.Vector.HFixed.TypeFuns: Proxy :: Proxy
+ Data.Vector.HFixed.TypeFuns: Proxy :: Proxy k
- Data.Vector.HFixed.TypeFuns: data Proxy (t :: k) :: k -> *
+ Data.Vector.HFixed.TypeFuns: data Proxy k (t :: k) :: forall k. k -> *
Files
- ChangeLog +4/−0
- Data/Vector/HFixed/Class.hs +1/−1
- Data/Vector/HFixed/HVec.hs +1/−1
- fixed-vector-hetero.cabal +1/−1
ChangeLog view
@@ -1,3 +1,7 @@+Changes in 0.3.1.2++ * Fix build for GHC 8.2+ Changes in 0.3.1.0 * Fix build for GHC 8.0
Data/Vector/HFixed/Class.hs view
@@ -218,7 +218,7 @@ WitNestedFun :: (Fn (xs++ys) r ~ Fn xs (Fn ys r)) => WitNestedFun xs ys r -- | Observe fact than @Len xs ~ Len (Wrap f xs)@-data WitLenWrap f xs where+data WitLenWrap :: (* -> *) -> [*] -> * where WitLenWrap :: Len xs ~ Len (Wrap f xs) => WitLenWrap f xs -- | Witness that all elements of type list satisfy predicate @c@.
Data/Vector/HFixed/HVec.hs view
@@ -28,7 +28,7 @@ import Data.List (intercalate) import Data.Primitive.Array (Array,MutableArray,newArray,writeArray,readArray, indexArray, unsafeFreezeArray)-import GHC.Prim (Any)+import GHC.Exts (Any) import Unsafe.Coerce (unsafeCoerce) import qualified Data.Vector.Fixed.Cont as F (Arity(..))
fixed-vector-hetero.cabal view
@@ -1,5 +1,5 @@ Name: fixed-vector-hetero-Version: 0.3.1.1+Version: 0.3.1.2 Synopsis: Generic heterogeneous vectors Description: Generic heterogeneous vectors