packages feed

fixed-vector-hetero 0.2.0.0 → 0.3.0.0

raw patch · 5 files changed

+240/−8 lines, 5 filesdep ~basedep ~fixed-vectorPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, fixed-vector

API changes (from Hackage documentation)

- Data.Vector.HFixed.Class: instance (c x, ArityC c xs) => ArityC c ((':) * x xs)
- Data.Vector.HFixed.Class: instance Arity ('[] *)
- Data.Vector.HFixed.Class: instance Arity xs => Applicative (TFun * f xs)
- Data.Vector.HFixed.Class: instance Arity xs => Arity ((':) * x xs)
- Data.Vector.HFixed.Class: instance Arity xs => Functor (TFun * f xs)
- Data.Vector.HFixed.Class: instance Arity xs => HVectorF (ContVecF * xs)
- Data.Vector.HFixed.Class: instance Arity xs => Index Z ((':) * x xs)
- Data.Vector.HFixed.Class: instance Arity xs => Monad (TFun * f xs)
- Data.Vector.HFixed.Class: instance ArityC c ('[] *)
- Data.Vector.HFixed.Class: instance Index n xs => Index (S n) ((':) * x xs)
- Data.Vector.HFixed.Functor.HVecF: instance (Arity (Wrap * * f xs), Arity xs) => HVector (HVecF xs f)
- Data.Vector.HFixed.Functor.HVecF: instance (Arity xs, ArityC Eq (Wrap * * f xs)) => Eq (HVecF xs f)
- Data.Vector.HFixed.Functor.HVecF: instance (Arity xs, ArityC Eq (Wrap * * f xs), ArityC Ord (Wrap * * f xs)) => Ord (HVecF xs f)
- Data.Vector.HFixed.Functor.HVecF: instance (Arity xs, ArityC NFData (Wrap * * f xs)) => NFData (HVecF xs f)
+ Data.Vector.HFixed: asCVec :: ContVec xs -> ContVec xs
+ Data.Vector.HFixed: data ContVec xs
+ 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: 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.Class: class ((~) Nat (ToNat a) b, (~) * (ToPeano b) a) => NatIso a (b :: Nat)
+ Data.Vector.HFixed.Class: instance (c x, ArityC c xs) => ArityC c (x : xs)
+ Data.Vector.HFixed.Class: instance Arity '[]
+ Data.Vector.HFixed.Class: instance Arity xs => Applicative (TFun f xs)
+ Data.Vector.HFixed.Class: instance Arity xs => Arity (x : xs)
+ Data.Vector.HFixed.Class: instance Arity xs => Functor (TFun f xs)
+ Data.Vector.HFixed.Class: instance Arity xs => HVectorF (ContVecF xs)
+ Data.Vector.HFixed.Class: instance Arity xs => Index Z (x : xs)
+ Data.Vector.HFixed.Class: instance Arity xs => Monad (TFun f xs)
+ Data.Vector.HFixed.Class: instance ArityC c '[]
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z)
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, a')
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, a', b')
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, a', b', c')
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, a', b', c', d')
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, a', b', c', d', e')
+ Data.Vector.HFixed.Class: instance HVector (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, a', b', c', d', e', f')
+ Data.Vector.HFixed.Class: instance Index n xs => Index (S n) (x : xs)
+ Data.Vector.HFixed.Functor.HVecF: instance (Arity (Wrap f xs), Arity xs) => HVector (HVecF xs f)
+ Data.Vector.HFixed.Functor.HVecF: instance (Arity xs, ArityC Eq (Wrap f xs)) => Eq (HVecF xs f)
+ Data.Vector.HFixed.Functor.HVecF: instance (Arity xs, ArityC Eq (Wrap f xs), ArityC Ord (Wrap f xs)) => Ord (HVecF xs f)
+ Data.Vector.HFixed.Functor.HVecF: instance (Arity xs, ArityC NFData (Wrap f xs)) => NFData (HVecF xs f)
- Data.Vector.HFixed: Proxy :: Proxy a
+ Data.Vector.HFixed: Proxy :: Proxy
- Data.Vector.HFixed: data Proxy a
+ Data.Vector.HFixed: data Proxy (t :: k) :: k -> *
- Data.Vector.HFixed: distributeF :: (Functor f, HVectorF v) => f (v g) -> v (f Compose g)
+ Data.Vector.HFixed: distributeF :: (Functor f, HVectorF v) => f (v g) -> v (f `Compose` g)
- Data.Vector.HFixed: mk0 :: (HVector v, Elems v ~ '[]) => v
+ Data.Vector.HFixed: mk0 :: (HVector v, Elems v ~ []) => v
- Data.Vector.HFixed: sequenceAF :: (Applicative f, HVectorF v) => v (f Compose g) -> f (v g)
+ Data.Vector.HFixed: sequenceAF :: (Applicative f, HVectorF v) => v (f `Compose` g) -> f (v g)
- Data.Vector.HFixed: sequenceF :: (Monad m, HVectorF v) => v (m Compose f) -> m (v f)
+ Data.Vector.HFixed: sequenceF :: (Monad m, HVectorF v) => v (m `Compose` f) -> m (v f)
- Data.Vector.HFixed.Class: Proxy :: Proxy a
+ Data.Vector.HFixed.Class: Proxy :: Proxy
- Data.Vector.HFixed.Class: WitAllInstancesNil :: WitAllInstances c '[]
+ Data.Vector.HFixed.Class: WitAllInstancesNil :: WitAllInstances c []
- Data.Vector.HFixed.Class: accum :: Arity xs => (forall a as. t (a : as) -> a -> t as) -> (t '[] -> b) -> t xs -> Fn xs b
+ Data.Vector.HFixed.Class: accum :: Arity xs => (forall a as. t (a : as) -> a -> t as) -> (t [] -> b) -> t xs -> Fn xs b
- Data.Vector.HFixed.Class: accumTy :: Arity xs => (forall a as. t (a : as) -> f a -> t as) -> (t '[] -> b) -> t xs -> Fn (Wrap f xs) b
+ Data.Vector.HFixed.Class: accumTy :: Arity xs => (forall a as. t (a : as) -> f a -> t as) -> (t [] -> b) -> t xs -> Fn (Wrap f xs) b
- Data.Vector.HFixed.Class: data Proxy a
+ Data.Vector.HFixed.Class: data Proxy (t :: k) :: k -> *
- Data.Vector.HFixed.Cont: Nil :: VecList '[]
+ Data.Vector.HFixed.Cont: Nil :: VecList []
- Data.Vector.HFixed.Cont: NilF :: VecListF '[] f
+ Data.Vector.HFixed.Cont: NilF :: VecListF [] f
- Data.Vector.HFixed.Cont: accum :: Arity xs => (forall a as. t (a : as) -> a -> t as) -> (t '[] -> b) -> t xs -> Fn xs b
+ Data.Vector.HFixed.Cont: accum :: Arity xs => (forall a as. t (a : as) -> a -> t as) -> (t [] -> b) -> t xs -> Fn xs b
- Data.Vector.HFixed.Cont: accumTy :: Arity xs => (forall a as. t (a : as) -> f a -> t as) -> (t '[] -> b) -> t xs -> Fn (Wrap f xs) b
+ Data.Vector.HFixed.Cont: accumTy :: Arity xs => (forall a as. t (a : as) -> f a -> t as) -> (t [] -> b) -> t xs -> Fn (Wrap f xs) b
- Data.Vector.HFixed.Cont: distributeF :: (Arity xs, Functor f) => f (ContVecF xs g) -> ContVecF xs (f Compose g)
+ Data.Vector.HFixed.Cont: distributeF :: (Arity xs, Functor f) => f (ContVecF xs g) -> ContVecF xs (f `Compose` g)
- Data.Vector.HFixed.Cont: mk0 :: ContVec '[]
+ Data.Vector.HFixed.Cont: mk0 :: ContVec []
- Data.Vector.HFixed.Cont: sequenceAF :: (Arity xs, Applicative f) => ContVecF xs (f Compose g) -> f (ContVecF xs g)
+ Data.Vector.HFixed.Cont: sequenceAF :: (Arity xs, Applicative f) => ContVecF xs (f `Compose` g) -> f (ContVecF xs g)
- Data.Vector.HFixed.Cont: sequenceF :: (Arity xs, Monad m) => ContVecF xs (m Compose f) -> m (ContVecF xs f)
+ Data.Vector.HFixed.Cont: sequenceF :: (Arity xs, Monad m) => ContVecF xs (m `Compose` f) -> m (ContVecF xs f)
- Data.Vector.HFixed.TypeFuns: Proxy :: Proxy a
+ Data.Vector.HFixed.TypeFuns: Proxy :: Proxy
- Data.Vector.HFixed.TypeFuns: data Proxy a
+ Data.Vector.HFixed.TypeFuns: data Proxy (t :: k) :: k -> *

Files

ChangeLog view
@@ -1,4 +1,12 @@+Changes in 0.3.0.0 +  * HVector instances up to 32-element tuples++  * `asCVec` function added++  * `ContVec` reexported from Data.Vector.HFixed++ Changes in 0.2.0.0    * Type changing lenses added@@ -6,3 +14,4 @@   * zipMonoF added    * types of monomorphize and monomorphizeF corrected+
Data/Vector/HFixed.hs view
@@ -20,6 +20,8 @@   , HVectorF(..)   , Wrap   , Proxy(..)+  , ContVec+  , asCVec     -- * Position based functions   , convert   , head@@ -80,8 +82,8 @@                                         import Data.Functor.Compose (Compose) import Data.Monoid          (Monoid,All(..))-import Prelude hiding-  (head,tail,concat,sequence,map,zipWith,replicate,foldr,foldl,mapM_,compare)+import Prelude (Functor(..),Monad(..),Eq(..),Ord,Bool,Ordering,+                id,(.),($),undefined,seq) import qualified Prelude  import Data.Vector.HFixed.Class hiding (cons,consF)@@ -92,6 +94,21 @@ ---------------------------------------------------------------- -- Generic API ----------------------------------------------------------------++-- | Restrict type of vector to 'ContVec'. This function is useful for+--   resolving type ambiguity when composing functions. For example+--   following code would not compile because intermediate type is+--   ambiguous:+--+-- > cons 'a' . tail+--+--   GHC cannot guess what type should be produced by @tail@. However+--   we can fix type of intermediate vector with @asCVec@, so code+--   below will work just fine:+--+-- > cons 'a' . asCVec . tail+asCVec :: ContVec xs -> ContVec xs+asCVec = id  -- | We can convert between any two vector which have same --   structure but different representations.
Data/Vector/HFixed/Class.hs view
@@ -759,7 +759,213 @@   {-# INLINE construct #-}   {-# INLINE inspect   #-} +instance HVector (a,b,c,d,e,f,g,h) where+  type Elems (a,b,c,d,e,f,g,h) = '[a,b,c,d,e,f,g,h]+  construct = Fun (,,,,,,,)+  inspect (a,b,c,d,e,f,g,h) (Fun fun) = fun a b c d e f g h+  {-# INLINE construct #-}+  {-# INLINE inspect   #-} +instance HVector (a,b,c,d,e,f,g,h,i) where+  type Elems (a,b,c,d,e,f,g,h,i) = '[a,b,c,d,e,f,g,h,i]+  construct = Fun (,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i) (Fun fun) = fun a b c d e f g h i+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j) where+  type Elems (a,b,c,d,e,f,g,h,i,j) = '[a,b,c,d,e,f,g,h,i,j]+  construct = Fun (,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j) (Fun fun) = fun a b c d e f g h i j+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k) = '[a,b,c,d,e,f,g,h,i,j,k]+  construct = Fun (,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k) (Fun fun) = fun a b c d e f g h i j k+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l) = '[a,b,c,d,e,f,g,h,i,j,k,l]+  construct = Fun (,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l) (Fun fun) = fun a b c d e f g h i j k l+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m) = '[a,b,c,d,e,f,g,h,i,j,k,l,m]+  construct = Fun (,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m) (Fun fun) = fun a b c d e f g h i j k l m+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n) = '[a,b,c,d,e,f,g,h,i,j,k,l,m,n]+  construct = Fun (,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n) (Fun fun) =+    fun a b c d e f g h i j k l m n+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) = '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o]+  construct = Fun (,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) (Fun fun) =+    fun a b c d e f g h i j k l m n o+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p]+  construct = Fun (,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) (Fun fun) =+    fun a b c d e f g h i j k l m n o p+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q]+  construct = Fun (,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r]+  construct = Fun (,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s]+  construct = Fun (,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t]+  construct = Fun (,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u]+  construct = Fun (,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v]+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w]+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v w+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x]+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v w x+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y]+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v w x y+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}+++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v w x y z+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}+++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a') where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a') =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a']+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a') (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v w x y z a'+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b') where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b') =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b']+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b') (Fun fun) = fun a b c d e f g h i j k l m n o p q r s t u v w x y z a' b'+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c') where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c') =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c']+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c') (Fun fun) = fun a b c d e f g h i j k l m n o p q r s t u v w x y z a' b' c'+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d') where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d') =+    '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d']+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d') (Fun fun) = fun a b c d e f g h i j k l m n o p q r s t u v w x y z a' b' c' d'+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e') where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e') = '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e']+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e') (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v w x y z a' b' c' d' e'+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}++instance HVector (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e',f') where+  type Elems (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e',f') = '[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e',f']+  construct = Fun (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)+  inspect (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a',b',c',d',e',f') (Fun fun) =+    fun a b c d e f g h i j k l m n o p q r s t u v w x y z a' b' c' d' e' f'+  {-# INLINE construct #-}+  {-# INLINE inspect   #-}  ---------------------------------------------------------------- -- Generics
Data/Vector/HFixed/Cont.hs view
@@ -81,9 +81,7 @@ import Data.Monoid           (Monoid(..),(<>)) import Data.Functor.Compose  (Compose(..)) import qualified Data.Vector.Fixed.Cont as F-import Prelude hiding-  (head,tail,concat,sequence,sequence_,map,zipWith,-   replicate,foldr,foldl)+import Prelude (Functor(..),Monad(..),id,(.),($),flip)  import Data.Vector.HFixed.Class 
fixed-vector-hetero.cabal view
@@ -1,5 +1,5 @@ Name:           fixed-vector-hetero-Version:        0.2.0.0+Version:        0.3.0.0 Synopsis:       Generic heterogeneous vectors Description:   Generic heterogeneous vectors@@ -23,13 +23,15 @@   location: http://bitbucket.org/Shimuuar/fixed-vector-hetero  Library-  Ghc-options:          -Wall+  -- Bigger context stack needed for HVector instances for large+  -- tuples+  Ghc-options:          -Wall -fcontext-stack=50   Build-Depends:     base          >=4.6 && <5,     deepseq,     transformers,     ghc-prim,-    fixed-vector  >= 0.7.0.0,+    fixed-vector  >= 0.7.0.3,     primitive   Exposed-modules:           Data.Vector.HFixed