h$]|X      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None contiguouslength contiguouselement None%9>? e6 contiguousA typeclass that is satisfied by all types. This is used used to provide a fake constraint for  and .  contiguousThe  " typeclass is an extension of the  typeclass, but includes operations that make sense only on uncliced contiguous structures.  contiguousThe unifted version of the immutable array type (i.e. eliminates an indirection through a thunk).  contiguousThe unifted version of the mutable array type (i.e. eliminates an indirection through a thunk).  contiguous-Resize an array into one with the given size.  contiguousUnlift an array (i.e. point to the data without an intervening thunk). contiguousUnlift a mutable array (i.e. point to the data without an intervening thunk). contiguousLift an array (i.e. point to the data through an intervening thunk). contiguousLift a mutable array (i.e. point to the data through an intervening thunk). contiguousThe  typeclass as an interface to a multitude of contiguous structures.;Some functions do not make sense on slices; for those, see  . contiguous%The Mutable counterpart to the array. contiguous5The constraint needed to store elements in the array. contiguous=The slice type of this array. The slice of a raw array type t should be 'Slice t', whereas the slice of a slice should be the same slice type. contiguousThe mutable slice type of this array. The mutable slice of a raw array type t should be 'MutableSlice t', whereas the mutable slice of a mutable slice should be the same slice type. contiguous/Allocate a new mutable array of the given size. contiguous n x is a mutable array of length n with x the value of every element. contiguous#Resize an array without growing it. contiguousThe empty array. contiguousCreate a singleton array. contiguousCreate a doubleton array. contiguousCreate a tripleton array. contiguousCreate a quadrupleton array. contiguous'Index into an array at the given index. contiguousIndex into an array at the given index, yielding an unboxed one-tuple of the element.  contiguousIndexing in a monad.The monad allows operations to be strict in the array when necessary. Suppose array copying is implemented like this: © mv v = ... write mv i (v ! i) ...For lazy arrays, v ! i4 would not be not be evaluated, which means that mv. would unnecessarily retain a reference to v in each element written.With  /, copying can be implemented like this instead: 3copy mv v = ... do x <- indexM v i write mv i xHere, no references to v' are retained because indexing (but not$ the elements) is evaluated eagerly.! contiguous(Read a mutable array at the given index." contiguous,Write to a mutable array at the given index.# contiguous Test whether the array is empty.$ contiguousThe size of the array% contiguousThe size of the mutable array& contiguous!Test the two arrays for equality.' contiguousTest the two mutable arrays for pointer equality. Does not check equality of elements.( contiguous Create a B of an array.O(1).) contiguous Create a = of a mutable array.O(1).* contiguous Create a B that covers the entire array.+ contiguous Create a = that covers the entire array., contiguousClone a slice of an array.- contiguous,Clone a slice of an array without using the B type. These methods are required to implement 'Contiguous (Slice arr)' for any `Contiguous arr`; they are not really meant for direct use.. contiguous!Clone a slice of a mutable array./ contiguous3Clone a slice of a mutable array without using the = type. These methods are required to implement 'Contiguous (Slice arr)' for any `Contiguous arr`; they are not really meant for direct use.0 contiguous9Turn a mutable array slice an immutable array by copying.1 contiguousTurn a slice of a mutable array into an immutable one with copying, without using the = type. These methods are required to implement 'Contiguous (Slice arr)' for any `Contiguous arr`; they are not really meant for direct use.2 contiguousTurn a mutable array into an immutable one without copying. The mutable array should not be used after this conversion.4 contiguous?@ABCFED?024#!"$6:;<% ()*+3&',.8-/1579BCFED=>?@A   None>VQ contiguousAppend two arrays.R contiguous)Delete the element at the given position.S contiguousCreate a copy of an array except the element at the index is replaced with the given value.U contiguousVariant of modifyAt that forces the result before installing it in the array.W contiguousVariant of modifyAtF that forces the result before installing it in the array. Note that this requires  rather than .X contiguous1Map over the elements of an array with the index.Y contiguous:Map strictly over the elements of an array with the index.Note that because a new array must be created, the resulting array type can be  different than the original.Z contiguous"Map over the elements of an array.Note that because a new array must be created, the resulting array type can be  different than the original.[ contiguous+Map strictly over the elements of an array.Note that because a new array must be created, the resulting array type can be  different than the original.\ contiguous'Convert one type of array into another.] contiguous(Right fold over the element of an array.^ contiguousRight fold over the element of an array, lazy in the accumulator, provides index to the step function._ contiguous0Strict right fold over the elements of an array.` contiguous(Left fold over the elements of an array.a contiguous/Strict left fold over the elements of an array.b contiguousStrict left fold over the elements of an array, where the accumulating function cares about the index of the element.c contiguousStrict right fold over the elements of an array, where the accumulating function cares about the index of the element.d contiguous+Monoidal fold over the element of an array.e contiguous3Strict monoidal fold over the elements of an array.f contiguous8Strict left monoidal fold over the elements of an array.g contiguous3Strict monoidal fold over the elements of an array.h contiguous3Strict monoidal fold over the elements of an array.i contiguous7Strict left monadic fold over the elements of an array.j contiguous7Strict left monadic fold over the elements of an array.k contiguous0Drop elements that do not satisfy the predicate.l contiguousDrop elements that do not satisfy the predicate which is applied to values and their indices.m contiguousThe m function is a version of Z which can throw out elements. In particular, the functional arguments returns something of type  b. If this is :, no element is added on to the result array. If it is  b, then b! is included in the result array.n contiguousThe n function takes a list of #s and returns a list of all the  values.o contiguouso n x is an array of length n with x the value of every element.p contiguousp n act4 performs the action n times, gathering the results.q contiguousCreate an array from a list. If the given length does not match the actual length, this function has undefined behavior.r contiguousCreate a mutable array from a list, reversing the order of the elements. If the given length does not match the actual length, this function has undefined behavior.s contiguousCreate an array from a list, reversing the order of the elements. If the given length does not match the actual length, this function has undefined behavior.t contiguous:Map over a mutable array, modifying the elements in place.u contiguousStrictly map over a mutable array, modifying the elements in place.v contiguousMap over a mutable array with indices, modifying the elements in place.w contiguousStrictly map over a mutable array with indices, modifying the elements in place.x contiguousMap each element of the array to an action, evaluate these actions from left to right, and collect the results in a new array.y contiguousMap each element of the array to an action, evaluate these actions from left to right, and collect the results. For a version that ignores the results, see z.z contiguousMap each element of the array to an action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results, see y.{ contiguousMap each element of the array and its index to an action, evaluating these actions from left to right.| contiguousMap each element of the array and its index to an action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results, see {.} contiguous} is y with its arguments flipped. For a version that ignores the results see ~.~ contiguous~ is z with its arguments flipped. For a version that doesn't ignore the results see }./for_ (C.fromList [1..4] :: PrimArray Int) print1234 contiguousMonadic accumulating strict left fold over the elements on an array. contiguousMap each element of a structure to a monadic action, evaluate these actions from left to right, and collect the results. for a version that ignores the results see . contiguousMap each element of a structure to a monadic action, evaluate these actions from left to right, and ignore the results. For a version that doesn't ignore the results see . = z contiguous is  with its arguments flipped. For a version that ignores its results, see . contiguous is  with its arguments flipped. For a version that doesn't ignore its results, see . contiguousEvaluate each action in the structure from left to right and collect the results. For a version that ignores the results see . contiguousEvaluate each action in the structure from left to right and ignore the results. For a version that doesn't ignore the results see . contiguous1The sum of a collection of actions, generalizing .asum (C.fromList ['Just' "Hello", 'Nothing', Just "World"] :: Array String) Just "Hello" contiguousConstruct an array of the given length by applying the function to each index. contiguousConstruct an array of the given length by applying the monadic action to each index. contiguousConstruct a mutable array of the given length by applying the function to each index. contiguousConstruct a mutable array of the given length by applying the monadic action to each index. contiguousApply a function n times to a value and construct an array where each consecutive element is the result of an additional application of this function. The zeroth element is the original value.  5 ( 1) 0 =  5 [0,1,2,3,4] contiguousApply a function n times to a value and construct a mutable array where each consecutive element is the result of an additional application of this function. The zeroth element is the original value. contiguousApply a monadic function n times to a value and construct a mutable array where each consecutive element is the result of an additional application of this function. The zeroth element is the original value. contiguous8Execute the monad action and freeze the resulting array. contiguous:Execute the monadic action and freeze the resulting array. contiguousConstruct an array by repeatedly applying a generator function to a seed. The generator function yields ) the next element and the new seed or " if there are no more elements.:unfoldr (\n -> if n == 0 then Nothing else Just (n,n-1) 10 <10,9,8,7,6,5,4,3,2,1> contiguousConstruct a mutable array by repeatedly applying a generator function to a seed. The generator function yields ) the next element and the new seed or " if there are no more elements.unfoldrMutable (\n -> if n == 0 then Nothing else Just (n,n-1) 10 <10,9,8,7,6,5,4,3,2,1> contiguousConstruct an array with at most n elements by repeatedly applying the generator function to a seed. The generator function yields & the next element and the new seed or " if there are no more elements. contiguousConvert an array to a list. contiguous"Convert a mutable array to a list. contiguous Given an  that is representative of the length of the list, convert the list into a mutable array of the given length.Note: calls " if the given length is incorrect. contiguous8Convert a list into a mutable array of the given length. contiguous Given an  that is representative of the length of the list, convert the list into a mutable array of the given length.Note: calls " if the given length is incorrect. contiguousConvert a list into an array. contiguous0Modify the elements of a mutable array in-place. contiguous9Strictly modify the elements of a mutable array in-place. contiguous = <0,1,3,6> contiguous A variant of  where the function argument takes the current index of the array as an additional argument. contiguousLike  , but with a strict accumulator. contiguousLike  , but with a strict accumulator. contiguous generalises  by zipping with the function given as the first argument, instead of a tupling function. For example,  (+) is applied to two arrays to produce an array of the corresponding sums. contiguous Variant of 2 that provides the index of each pair of elements. contiguous Variant of  that accepts an accumulator, performing a lazy right fold over both arrays. contiguous Variant of  that accepts an accumulator, performing a strict left monadic fold over both arrays. contiguous Variant of 2 that provides the index of each pair of elements. contiguousVariant of 'foldlZipWithM'' that provides the index of each pair of elements. contiguous takes two arrays and returns an array of corresponding pairs. ,zip [1, 2] ['a', 'b'] = [(1, 'a'), (2, 'b')]If one input array is shorter than the other, excess elements of the longer array are discarded: =zip [1] ['a', 'b'] = [(1, 'a')] zip [1, 2] ['a'] = [(1, 'a')] contiguous7Replace all locations in the input with the same value.Equivalent to Data.Functor.. contiguousSequential application."Equivalent to Control.Applicative..q contiguouslength of list contiguouslist contiguous start index contiguous end index   ;24086.,'&3+*)(:<" !#$%=BQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$%#! o"?@ABCDEFGHIJKKLMNOOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRRRRR'contiguous-0.6.0-IOjmxCgUZDRLC9rFhATgjMData.Primitive.ContiguousData.Primitive.Contiguous.ClassData.Primitive.Contiguous.Shim Data.Functor<$Control.Applicative<*>(primitive-0.7.2.0-LG0RgDOb8k2BUs9Dcz1WXeData.Primitive.PrimArray PrimArrayMutablePrimArrayData.Primitive.SmallArray SmallArraySmallMutableArrayData.Primitive.ArrayArray MutableArray1primitive-unlifted-0.1.3.0-9O3syq2rGgwHdyPeFsKDm2Data.Primitive.Unlifted.ArrayMutableUnliftedArray UnliftedArrayAlways ContiguousUUnlifted UnliftedMutresizeunlift unliftMutliftliftMut ContiguousMutableElementSliced MutableSlicednew replicateMutshrinkempty singleton doubleton tripleton quadrupletonindexindex#indexMreadwritenullsizesizeMutequals equalsMutslicesliceMuttoSlice toSliceMutcloneclone_cloneMut cloneMut_freezefreeze_ unsafeFreezeunsafeShrinkAndFreezethawthaw_copycopy_copyMutcopyMut_insertAtrnfrun MutableSlice offsetMut lengthMutbaseMutSliceoffsetlengthbase$fContiguousUnliftedArray$fContiguousUArray$fContiguousPrimArray$fContiguousUSmallArray$fContiguousSlice$fContiguousArray$fContiguousSmallArray $fAlwaysa$fContiguousUPrimArray$fContiguousUUnliftedArrayappenddeleteAt replaceAtmodifyAt modifyAt' modifyAtF modifyAtF'imapimap'mapmap'convertfoldrifoldrfoldr'foldlfoldl'ifoldl'ifoldr'foldMapfoldMap' foldlMap' ifoldlMap' ifoldlMap1'foldlM'ifoldlM'filterifiltermapMaybe catMaybes replicate replicateMutMunsafeFromListNunsafeFromListReverseMutableNunsafeFromListReverseN mapMutable mapMutable' imapMutable imapMutable' traversePtraverse traverse_ itraverse itraverse_forfor_ mapAccumLM' mapAccum'mapMmapM_forMforM_sequence sequence_asumgenerate generateMgenerateMutablegenerateMutableMiterateNiterateMutableNiterateMutableNMcreatecreateTunfoldrunfoldrMutableunfoldrNtoList toListMutablefromListMutableNfromListMutable fromListNfromListmodifymodify' enumFromNenumFromMutableNliftHashWithSaltreversereverseMutable reverseSlicesameelemmaximumminimum maximumBy minimumByfind findIndexswapleftsrightspartitionEithersscanliscanlscanl'iscanl'prescanl iprescanl prescanl' iprescanl'zipWithizipWith foldrZipWithfoldlZipWithM' ifoldrZipWithifoldlZipWithM'zipapallanyreplicateMutablePrimArray errorThunk resizeArrayresizeSmallArrayreplicateSmallMutableArrayresizeUnliftedArrayclonePrimArrayShimcloneMutablePrimArrayShimfreezePrimArrayShimGHC.BaseMonadFunctor GHC.MaybeMaybeNothingJust Data.FoldableconcatGHC.Num+ghc-prim GHC.TypesIntGHC.ErrerrorGHC.EnumsuccTrueFalse Data.EitherEitherLeftRight