h&g\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred)*/0126( fixed-vectorSame as - but its length is expressed as Peano number. fixed-vectorVector represented as continuation. Alternative wording: it's Church encoded N-element vector. fixed-vector;Vector parametrized by length. In ideal world it should be: forall 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-vectorOptional 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 n 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-vectorReverse 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 m fixed-vectorType 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-vectorConvert 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-vectorExecute monadic action for every element of vector. Synonym for .1 fixed-vector3Execute monadic action for every element of vector.2 fixed-vectorGenerate vector from function which maps element's index to its value.3 fixed-vectorGenerate 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-vectorDetermines whether any of element of vector satisfy predicate.k fixed-vectorThe k 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.l fixed-vectorGeneric  " which could work with any vector.m fixed-vectorGeneric   which could work with any vector. Since vector can only have one constructor argument for constructor is ignored.| fixed-vectorNote 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 value  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm  !"#$&%  '()X*,-./012345+KLMN6789:;<=>?@ABCDEFGHIJOPQRSTUVWZ[\Y]ab^c_`defghijklm Safe-Inferred+ fixed-vectorMap over vector fixed-vectorDetermines whether any of element of vector satisfy predicate. fixed-vectorThe  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-vectorEvaluate every action in the vector from left to right and ignore result fixed-vectorEffectful map over vector. fixed-vectorApply monadic action to each element of vector and ignore result. fixed-vector?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz {|}~  E F G H I J K L  ? @ D C A B i Y Z \ ] ^ j  k  l q p   r m n o s u t v w x y z   M U V O Q N P R S T   W X _ ` c d a b e f       > ; < = ?@ABj  +fixed-vector-1.2.3.0-LvUveUIxLuzKkvdaxJW50BData.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.9.0.0-8PnPU28YnnMJ76K6OX5YivData.Primitive.TypesPrim CVecPeanoContVecVectorNVector constructinspect basicIndexDim ArityPeanoaccumapplyFun applyFunMreverseFgunfoldFArityFununFunFnAddPeanoPeanoNumZSapplyapplyMarityconstFun curryFirst uncurryFirst curryLast curryManyapLastwithFun shuffleFunlength consPeano toContVeccvecemptyfromList fromList' fromListMtoList replicate replicateMgenerate generateMunfoldrbasismk1mk2mk3mk4mk5mk6mk7mk8mapimapmapMimapMmapM_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 fromFoldableTuple5Tuple4Tuple3Tuple2EmptyOnlyStorableViaFixedVecPeanoNilConsVecListV4V3V2V1$fStorableVecList$fSemigroupVecList$fMonoidVecList$fTraversableVecList$fFoldableVecList$fApplicativeVecList$fFunctorVecList $fOrdVecList $fEqVecList $fShowVecList$fVectorNVecListna$fNFDataVecList$fVectorVecLista$fStorableStorableViaFixed$fStorableOnly $fVectorOnlya $fNFDataOnly$fSemigroupOnly $fMonoidOnly$fVectorEmptya $fNFDataEmpty $fShowEmpty $fEqEmpty $fOrdEmpty $fDataEmpty$fFunctorEmpty$fFoldableEmpty$fTraversableEmpty $fShowOnly$fEqOnly $fOrdOnly $fDataOnly $fFunctorOnly$fFoldableOnly$fTraversableOnlyIVector unsafeFreeze unsafeThaw unsafeIndexMVectorcopymovenew unsafeRead unsafeWriteDimMMutablelengthMclonereadwriteforIfreezethaw 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.MaybeNothingGHC.BasepurefmapelementF Data.FoldableData.Traversable Traversable alignmentsizeOfpeekpokedeepseq-1.4.6.1Control.DeepSeqrnfNFDataFoldable showsPrecGHC.ShowrunIndex