!?q&O      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None&'+,-.1;<=>?EFQSTV\ fixed-vectorSame as - but its length is expressed as Peano number. fixed-vectoraVector represented as continuation. Alternative wording: it's Church encoded N-element vector. fixed-vector;Vector parametrized by length. In ideal world it should be: Aforall n. (Arity n, Vector (v n) a, Dim (v n) ~ n) => VectorN v a7Alas polymorphic constraints aren't allowed in haskell. fixed-vectorType class for vectors with fixed length. Instance should provide two functions: one to create vector and another for vector deconstruction. They must obey following law: inspect v construct = v8For example instance for 2D vectors could be written as: data V2 a = V2 a a type instance V2 = 2 instance Vector V2 a where construct = Fun V2 inspect (V2 a b) (Fun f) = f a b fixed-vector'N-ary function for creation of vectors.  fixed-vectorDeconstruction of vector.  fixed-vectorWOptional more efficient implementation of indexing. Shouldn't be used directly, use   instead.  fixed-vector/Size of vector expressed as type-level natural.  fixed-vectorType class for handling n-ary functions.  fixed-vectorLeft fold over na elements exposed as n-ary function. These elements are supplied as arguments to the function. fixed-vector%Apply all parameters to the function. fixed-vectorApply all parameters to the function using monadic actions. Note that for identity monad it's same as applyFun. Ignoring newtypes: &forall b. Fn n a b -> b ~ ContVec n a fixed-vectorhReverse order of parameters. It's implemented directly in type class since expressing it in terms of accum> will require putting ArityPeano constraint on step funcion fixed-vectorWorker function for j fixed-vector]Type class for type level number for which we can defined operations over N-ary functions. fixed-vector&Newtype wrapper which is used to make ( injective. It's also a reader monad. fixed-vector!Type family for n-ary functions. n$ is number of parameters of type a and b is result type. fixed-vector-Type family for sum of unary natural numbers. fixed-vector2Convert type level natural to Peano representation fixed-vectorPeano numbers. Since type level naturals don't support induction we have to convert type nats to Peano representation first and work with it, fixed-vector%Apply all parameters to the function. fixed-vector?Apply all parameters to the function using applicative actions. fixed-vectorArity of function. fixed-vector%Prepend ignored parameter to function  fixed-vector'Curry first parameter of n-ary function! fixed-vector)Uncurry first parameter of n-ary function" fixed-vector&Curry last parameter of n-ary function# fixed-vectorCurry n# first parameters of n-ary function$ fixed-vector)Apply last parameter to function. Unlike apFun6 we need to traverse all parameters but last hence  constraint.% fixed-vectorRecursive step for the function& fixed-vector8Move function parameter to the result of N-ary function.' fixed-vector9Length of vector. Function doesn't evaluate its argument.( fixed-vectorCons values to the  CVecPeano.* fixed-vector1Convert regular vector to continuation based one.+ fixed-vectorCreate empty vector., fixed-vectorhConvert list to continuation-based vector. Will throw error if list is shorter than resulting vector.- fixed-vectorSame as ,? bu throws error is list doesn't have same length as vector.. fixed-vector=Convert list to continuation-based vector. Will fail with # if list doesn't have right length./ fixed-vectorConvert vector to the list0 fixed-vector@Execute monadic action for every element of vector. Synonym for .1 fixed-vector3Execute monadic action for every element of vector.2 fixed-vectorFGenerate vector from function which maps element's index to its value.3 fixed-vectorQGenerate vector from monadic function which maps element's index to its value.4 fixed-vectorUnfold vector.5 fixed-vectorUnit vector along Nth axis.; fixed-vectorMap over vector. Synonym for < fixed-vector<Apply function to every element of the vector and its index.= fixed-vectorEffectful map over vector.> fixed-vectorDApply monadic function to every element of the vector and its index.? fixed-vectorAApply monadic action to each element of vector and ignore result.@ fixed-vectorRApply monadic action to each element of vector and its index and ignore result.A fixed-vectorLeft scan over vectorB fixed-vectorLeft scan over vectorC fixed-vector7Evaluate every action in the vector from left to right.D fixed-vectorIEvaluate every action in the vector from left to right and ignore result.E fixed-vectorThe dual of sequenceAG fixed-vectorO(1) Tail of vector.H fixed-vectorO(1) Prepend element to vectorI fixed-vector0Prepend single element vector to another vector.J fixed-vectorO(1) Append element to vectorK fixed-vectorConcatenate vectorL fixed-vector'Reverse order of elements in the vectorM fixed-vector'Zip two vector together using function.N fixed-vectorZip three vectors togetherO fixed-vectorLZip two vector together using function which takes element index as well.P fixed-vectorZip three vectors togetherQ fixed-vector/Zip two vector together using monadic function.S fixed-vectorUZip two vector together using monadic function which takes element index as well..U fixed-vector&Run continuation vector. It's same as   but with arguments flipped.V fixed-vector#Convert continuation to the vector.W fixed-vector2Finalizer function for getting head of the vector.X fixed-vectorO(n) Get value at specified index.Y fixed-vector5Twan van Laarhoven lens for continuation based vector fixed-vector5Helper for implementation of Twan van Laarhoven lens.Z fixed-vector#Left fold over continuation vector.[ fixed-vector#Left fold over continuation vector.\ fixed-vector+Monadic left fold over continuation vector.] fixed-vector+Monadic left fold over continuation vector.^ fixed-vector Left fold._ fixed-vector#Right fold over continuation vector` fixed-vector#Right fold over continuation vectora fixed-vectorSum all elements in the vector.b fixed-vectorMinimal element of vector.c fixed-vectorMaximal element of vector.d fixed-vector$Conjunction of elements of a vector.e fixed-vector(Disjunction of all elements of a vector.f fixed-vector<Determines whether all elements of vector satisfy predicate.g fixed-vector>Determines whether any of element of vector satisfy predicate.h fixed-vectorThe hy function takes a predicate and a vector and returns the leftmost element of the vector matching the predicate, or  if there is no such element.i fixed-vectorGeneric  " which could work with any vector.j fixed-vectorGeneric  x which could work with any vector. Since vector can only have one constructor argument for constructor is ignored.y fixed-vectoroNote this instance (and other instances for tuples) is essentially monomorphic in element type. Vector type v of 2 element tuple  (Int,Int) is (,) Int/ so it will only work with elements of type Int.  fixed-vector Fold function fixed-vectorExtract result of fold fixed-vector Initial value fixed-vectorReduction function fixed-vectorGet value to apply to function fixed-vector Initial value fixed-vectorGet value to apply to function fixed-vector Initial value fixed-vectorGet value to apply to function fixed-vector Initial value fixed-vectorN-ary function fixed-vectorGet value to apply to function fixed-vector Initial valuei  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiji  !"#$&%  '()U*,-./012345+HIJK6789:;<=>?@ABCDEFGLMNOPQRSTWXYVZ^_[`\]abcdefghijNoneFT9 fixed-vectorMap over vector fixed-vector<Apply function to every element of the vector and its index. fixed-vectorMonadic map over vector. fixed-vectorMonadic map over vector. fixed-vector'Zip two vector together using function. fixed-vector/Zip two vector together using monadic function. fixed-vectorLZip two vector together using function which takes element index as well. fixed-vectorUZip two vector together using monadic function which takes element index as well.. None,-;<=>?FQSTVD fixed-vectorN-ary constructor. Despite scary signature it's just N-ary 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 3or if type of v is fixed elsewhere v = mkN [v] 1 2 3 fixed-vectorReplicate value n times. Examples:%import Data.Vector.Fixed.Boxed (Vec2)replicate 1 :: Vec2 IntfromList [1,1]%replicate 2 :: (Double,Double,Double) (2.0,2.0,2.0)%import Data.Vector.Fixed.Boxed (Vec4)replicate "foo" :: Vec4 String"fromList ["foo","foo","foo","foo"] fixed-vector3Execute monadic action for every element of vector. Examples:*import Data.Vector.Fixed.Boxed (Vec2,Vec3)'replicateM (Just 3) :: Maybe (Vec3 Int)Just (fromList [3,3,3])+replicateM (putStrLn "Hi!") :: IO (Vec2 ())Hi!Hi!fromList [(),()] fixed-vector]Unit vector along Nth axis. If index is larger than vector dimensions returns zero vector. Examples:%import Data.Vector.Fixed.Boxed (Vec3)basis 0 :: Vec3 IntfromList [1,0,0]basis 1 :: Vec3 IntfromList [0,1,0]basis 3 :: Vec3 IntfromList [0,0,0] fixed-vectorUnfold vector. fixed-vectorIGenerate vector from function which maps element's index to its value. Examples:'import Data.Vector.Fixed.Unboxed (Vec4)generate (^2) :: Vec4 IntfromList [0,1,4,9] fixed-vectorQGenerate vector from monadic function which maps element's index to its value. fixed-vectorFirst element of vector. Examples:%import Data.Vector.Fixed.Boxed (Vec3)let x = mk3 1 2 3 :: Vec3 Inthead x1 fixed-vectorTail of vector. Examples:import Data.Complextail (1,2,3) :: Complex Double 2.0 :+ 3.0 fixed-vectorCons element to the vector fixed-vectorAppend element to the vector fixed-vector'Reverse order of elements in the vector fixed-vectorARetrieve vector's element at index. Generic implementation is O(n). but more efficient one is used when possible. fixed-vector1Get element from vector at statically known index fixed-vectorSet n'th element in the vector fixed-vector/Twan van Laarhoven's lens for element of vector fixed-vectorOTwan van Laarhoven's lens for element of vector with statically known index. fixed-vectorLeft fold over vector fixed-vectorRight fold over vector fixed-vectorLeft fold over vector fixed-vectorBCombine the elements of a structure using a monoid. Similar to  fixed-vectorVMap each element of the structure to a monoid, and combine the results. Similar to  fixed-vectorRight fold over vector fixed-vectorLLeft fold over vector. Function is applied to each element and its index. fixed-vectorMonadic fold over vector. fixed-vectorTLeft monadic fold over vector. Function is applied to each element and its index. fixed-vectorSum all elements in the vector. fixed-vectorMaximal element of vector. Examples:%import Data.Vector.Fixed.Boxed (Vec3)let x = mk3 1 2 3 :: Vec3 Int maximum x3 fixed-vectorMinimal element of vector. Examples:%import Data.Vector.Fixed.Boxed (Vec3)let x = mk3 1 2 3 :: Vec3 Int minimum x1 fixed-vector(Conjunction of all elements of a vector. fixed-vector(Disjunction of all elements of a vector. fixed-vector<Determines whether all elements of vector satisfy predicate. fixed-vector>Determines whether any of element of vector satisfy predicate. fixed-vectorThe y function takes a predicate and a vector and returns the leftmost element of the vector matching the predicate, or  if there is no such element. fixed-vectorTest two vectors for equality. Examples:%import Data.Vector.Fixed.Boxed (Vec2)let v0 = basis 0 :: Vec2 Intlet v1 = basis 1 :: Vec2 Int v0 `eq` v0True v0 `eq` v1False fixed-vector&Lexicographic ordering of two vectors. fixed-vectorMap over vector fixed-vector7Evaluate every action in the vector from left to right. fixed-vectorHEvaluate every action in the vector from left to right and ignore result fixed-vectorEffectful map over vector. fixed-vectorAApply monadic action to each element of vector and ignore result. fixed-vector<Apply function to every element of the vector and its index. fixed-vectorDApply monadic function to every element of the vector and its index. fixed-vectorZApply monadic function to every element of the vector and its index and discard result. fixed-vectorLeft scan over vector fixed-vectorLeft scan over vector fixed-vector Analog of  from . fixed-vector Analog of  from . fixed-vector'Zip two vector together using function. Examples:%import Data.Vector.Fixed.Boxed (Vec3)let b0 = basis 0 :: Vec3 Intlet b1 = basis 1 :: Vec3 Intlet b2 = basis 2 :: Vec3 Intlet vplus x y = zipWith (+) x y vplus b0 b1fromList [1,1,0] vplus b0 b2fromList [1,0,1] vplus b1 b2fromList [0,1,1] fixed-vectorZip three vector together fixed-vector/Zip two vector together using monadic function. fixed-vectorGZip two vector elementwise using monadic function and discard result fixed-vectorLZip two vector together using function which takes element index as well. fixed-vectorZip three vector together fixed-vectorUZip two vector together using monadic function which takes element index as well.. fixed-vectorGZip two vector elementwise using monadic function and discard result fixed-vectorDefault implementation of  for ! type class for fixed vectors. fixed-vectorDefault implementation of  for  type class for fixed vectors fixed-vectorDefault implementation of  for  type class for fixed vector fixed-vectorDefault implementation of  for  type class for fixed vector fixed-vectorDefault implementation of  from  type class fixed-vector&Convert between different vector types fixed-vectorConvert vector to the list fixed-vectorVCreate vector form list. Will throw error if list is shorter than resulting vector. fixed-vector`Create vector form list. Will throw error if list has different length from resulting vector. fixed-vector%Create vector form list. Will return Nothing7 if list has different length from resulting vector. fixed-vectorCreate vector from  data type. Will return NothingD if data type different number of elements that resulting vector. fixed-vectorGeneric definition of NNone&',-01;<=>?FSTV fixed-vector Empty tuple. fixed-vectorSingle-element tuple. fixed-vectorYStandard GADT-based vector with statically known length parametrized by Peano numbers. fixed-vectorUType-based vector with statically known length parametrized by GHC's type naturalsh '*+Vh  '+V*None ,-<>?FQTVg fixed-vector Type class for immutable vectors fixed-vectorUConvert vector to immutable state. Mutable vector must not be modified afterwards. fixed-vectorUConvert immutable vector to mutable. Immutable vector must not be used afterwards. fixed-vector4Get element at specified index without bounds check. fixed-vectorType class for mutable vectors. fixed-vectorCopy vector. The two vectors may not overlap. Since vectors' length is encoded in the type there is no need in runtime checks. fixed-vector}Copy vector. The two vectors may overlap. Since vectors' length is encoded in the type there is no need in runtime checks.  fixed-vectorAllocate new vector  fixed-vector)Read value at index without bound checks.  fixed-vector*Write value at index without bound checks.  fixed-vectorDimension for mutable vector.  fixed-vector+Mutable counterpart of fixed-length vector. fixed-vectorALength of mutable vector. Function doesn't evaluate its argument. fixed-vectorCreate copy of vector. fixed-vector&Read value at index with bound checks. fixed-vector'Write value at index with bound checks. fixed-vector+Safely convert mutable vector to immutable. fixed-vector+Safely convert immutable vector to mutable. fixed-vector7Generic inspect implementation for array-based vectors. fixed-vector9Generic construct implementation for array-based vectors. fixed-vectorTarget fixed-vectorSource fixed-vectorTarget fixed-vectorSource          None-01;<=>?FTV fixed-vector(Mutable unboxed vector with fixed length fixed-vector2Vector with fixed length which can hold any value.None-01;<=>?FTV #3 fixed-vector(Mutable unboxed vector with fixed length4 fixed-vector Unboxed vector with fixed length./012344210/.3None-01;<=>?FTV$F fixed-vector/Storable-based mutable vector with fixed lengthH fixed-vector'Storable-based vector with fixed lengthI fixed-vectorAGet underlying pointer. Data may not be modified through pointer.J fixed-vector&Construct vector from foreign pointer. ABCDEFGHIJK HEDCBAJIKFGNone,-01;<=>?FTV& XYZ[\]^__]\[ZY^X !"##$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw xyz{|}~ E F G H I ? @ D C A B f V W Y Z [ g h i n m o j k l p r q s t u v w J R S L N K M O P Q T U \ ] ` a ^ _ b c > ; < = g      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPOQORSTTUUVUWXYZ[\][\^T_ `a` bc+fixed-vector-1.2.0.0-6ANSXCJpuFs7qXgdnmOUPMData.Vector.Fixed.StorableData.Vector.Fixed.PrimitiveData.Vector.Fixed.ContData.Vector.Fixed.GenericData.Vector.FixedData.Vector.Fixed.MutableData.Vector.Fixed.BoxedData.Vector.Fixed.Unboxed! Data.DatagfoldlgunfoldlData.Vector.Fixed.InternalbaseForeign.StorableStorable(primitive-0.6.4.0-39Pwmm1zkQX6bM7xFUT3JcData.Primitive.TypesPrim CVecPeanoContVecVectorNVector constructinspect basicIndexDim ArityPeanoaccumapplyFun applyFunMreverseFgunfoldFArityFununFunFnAddPeanoPeanoNumZSapplyapplyMarityconstFun curryFirst uncurryFirst curryLast curryManyapLastwithFun shuffleFunlength consPeano toContVeccvecemptyfromList fromList' fromListMtoList replicate replicateMgenerate generateMunfoldrbasismk1mk2mk3mk4mk5mapimapmapMimapMmapM_imapM_scanlscanl1sequence sequence_ distributecollecttailconsconsVsnocconcatreversezipWithzipWith3izipWith izipWith3zipWithM zipWithM_ izipWithM izipWithM_ runContVecvectorheadindexelementfoldlifoldlfoldMifoldMfoldl1foldrifoldrsumminimummaximumandorallanyfindgunfold $fArityPeanoS $fArityPeanoZ $fMonadFun$fApplicativeFun $fFunctorFun$fFoldableContVec$fApplicativeContVec$fFunctorContVec$fVectorProxya$fVector(,,,,,,)a$fVector(,,,,,)a$fVector(,,,,)a$fVector(,,,)a $fVector(,,)a $fVector(,)a$fVectorIdentitya$fVectorComplexa$fTraversableContVec$fVectorNContVecna$fVectorContVecamapGimapGmapMGimapMGzipWithG zipWithMG izipWithG izipWithMGmk0mkNset elementTyfoldfoldMapeqord sequenceAtraversedefaultAlignemnt defaultSizeOf defaultPeek defaultPoke defaultRnfconvert fromFoldableTuple5Tuple4Tuple3Tuple2EmptyOnlyVecPeanoNilConsVecList$fStorableVecList$fSemigroupVecList$fMonoidVecList$fTraversableVecList$fFoldableVecList$fApplicativeVecList$fFunctorVecList $fOrdVecList $fEqVecList $fShowVecList$fVectorNVecListna$fNFDataVecList$fVectorVecLista$fStorableOnly $fVectorOnlya $fNFDataOnly$fSemigroupOnly $fMonoidOnly$fTraversableOnly$fFoldableOnly $fFunctorOnly$fVectorEmptya $fNFDataEmpty$fTraversableEmpty$fFoldableEmpty$fFunctorEmpty $fShowOnly$fEqOnly $fOrdOnly $fDataOnly $fShowEmpty $fEqEmpty $fOrdEmpty $fDataEmptyIVector unsafeFreeze unsafeThaw unsafeIndexMVectorcopymovenew unsafeRead unsafeWriteDimMMutablelengthMclonereadwritefreezethaw inspectVec constructVecVec5Vec4Vec3Vec2Vec1MVecVec$fTraversableVec $fFoldableVec$fApplicativeVec $fFunctorVec$fSemigroupVec $fMonoidVec$fOrdVec$fEqVec$fVectorNVecna $fVectorVeca $fNFDataVec $fShowVec $fStorableVec $fDataVec $fIVectorVeca$fMVectorMVecaunsafeToForeignPtrunsafeFromForeignPtr unsafeWithUnbox$fIVectorVecAll$fMVectorMVecAll$fIVectorVecAny$fMVectorMVecAny$fIVectorVec(,,)$fMVectorMVec(,,)$fIVectorVec(,)$fMVectorMVec(,)$fIVectorVecComplex$fMVectorMVecComplex$fIVectorVecDouble$fMVectorMVecDouble$fIVectorVecFloat$fMVectorMVecFloat$fIVectorVecChar$fMVectorMVecChar$fIVectorVecWord64$fMVectorMVecWord64$fIVectorVecWord32$fMVectorMVecWord32$fIVectorVecWord16$fMVectorMVecWord16$fIVectorVecWord8$fMVectorMVecWord8$fIVectorVecWord$fMVectorMVecWord$fIVectorVecInt64$fMVectorMVecInt64$fIVectorVecInt32$fMVectorMVecInt32$fIVectorVecInt16$fMVectorMVecInt16$fIVectorVecInt8$fMVectorMVecInt8$fIVectorVecInt$fMVectorMVecInt$fIVectorVecBool$fMVectorMVecBool$fIVectorVec()$fMVectorMVec() $fUnboxnAll $fUnboxnAny$fIVectorVecProduct$fMVectorMVecProduct$fUnboxnProduct$fIVectorVecSum$fMVectorMVecSum $fUnboxnSum$fIVectorVecDual$fMVectorMVecDual $fUnboxnDual$fIVectorVecDown$fMVectorMVecDown $fUnboxnDown$fIVectorVecIdentity$fMVectorMVecIdentity$fUnboxnIdentity$fIVectorVecConst$fMVectorMVecConst $fUnboxnConst $fUnboxn(,,) $fUnboxn(,)$fUnboxnComplex$fUnboxnDouble $fUnboxnFloat $fUnboxnChar$fUnboxnWord64$fUnboxnWord32$fUnboxnWord16 $fUnboxnWord8 $fUnboxnWord $fUnboxnInt64 $fUnboxnInt32 $fUnboxnInt16 $fUnboxnInt8 $fUnboxnInt $fUnboxnBool $fUnboxn()GHC.BaseNothingpurefmapelementF Data.FoldableData.Traversable Traversable alignmentsizeOfpeekpokedeepseq-1.4.3.0Control.DeepSeqrnfNFDataFoldable showsPrecGHC.ShowrunIndex