Îõ³h$M.Imž      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œNone>ÀÇÉÔ×ÙàHŒ contiguousThe Æ typeclass as an interface to a multitude of contiguous structures.  contiguous%The Mutable counterpart to the array.  contiguous5The constraint needed to store elements in the array.  contiguousThe empty array.  contiguous Test whether the array is empty.  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'Index into an array at the given index. contiguousÕIndex 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-Resize an array into one with the given size. contiguousThe size of the array contiguousThe size of the mutable array contiguousúTurn a mutable array into an immutable one without copying. The mutable array should not be used after this conversion. contiguousÜTurn a mutable array into an immutable one with copying, using a slice of the mutable array. contiguous contiguous8Strict left monoidal fold over the elements of an array.? contiguous3Strict monoidal fold over the elements of an array.@ contiguous3Strict monoidal fold over the elements of an array.A contiguous7Strict left monadic fold over the elements of an array.B contiguous7Strict left monadic fold over the elements of an array.C contiguous0Drop elements that do not satisfy the predicate.D contiguousàDrop elements that do not satisfy the predicate which is applied to values and their indices.E contiguousThe E function is a version of 3ä 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.F contiguousThe F function takes a list of ¡#s and returns a list of all the £ values.G contiguousG n x is an array of length n with x the value of every element.H contiguousH n act4 performs the action n times, gathering the results.I contiguousúCreate an array from a list. If the given length does not match the actual length, this function has undefined behavior.J contiguousªCreate 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.K contiguousŸCreate 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.L contiguous:Map over a mutable array, modifying the elements in place.M contiguousÃStrictly map over a mutable array, modifying the elements in place.N contiguousÇMap over a mutable array with indices, modifying the elements in place.O contiguousÐStrictly map over a mutable array with indices, modifying the elements in place.P contiguous„Map each element of the array to an action, evaluate these actions from left to right, and collect the results in a new array.Q contiguous¢Map 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 R.R contiguous¨Map 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 Q.S contiguouséMap each element of the array and its index to an action, evaluating these actions from left to right.T contiguous¶Map 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 S.U contiguousU is QË with its arguments flipped. For a version that ignores the results see V.V contiguousV is RÒ with its arguments flipped. For a version that doesn't ignore the results see U./for_ (C.fromList [1..4] :: PrimArray Int) print1234W contiguousÅMonadic accumulating strict left fold over the elements on an array.Y contiguous­Map 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 Z.Z contiguous³Map 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 Y.Z = R[ contiguous[ is YÌ with its arguments flipped. For a version that ignores its results, see \.\ contiguous\ is ZÓ with its arguments flipped. For a version that doesn't ignore its results, see [.] contiguousƒEvaluate each action in the structure from left to right and collect the results. For a version that ignores the results see ^.^ contiguous‰Evaluate 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"` contiguousÑConstruct an array of the given length by applying the function to each index.a contiguous×Construct an array of the given length by applying the monadic action to each index.b contiguousØConstruct a mutable array of the given length by applying the function to each index.c contiguousÞConstruct a mutable array of the given length by applying the monadic action to each index.d 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. d 5 (¥ 1) 0 = p 5 [0,1,2,3,4]e 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.f 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.g contiguous8Execute the monad action and freeze the resulting array.h contiguous:Execute the monadic action and freeze the resulting array.i contiguousëConstruct 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>j contiguousòConstruct 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>k contiguousˆConstruct 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.l contiguousConvert an array to a list.m contiguous"Convert a mutable array to a list.n 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.o contiguous8Convert a list into a mutable array of the given length.p 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.q contiguousConvert a list into an array.r contiguous0Modify the elements of a mutable array in-place.s contiguous9Strictly modify the elements of a mutable array in-place.t 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.“ contiguousÍVariant 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..  contiguousoffset into the array contiguouslength of the slice contiguousoffset into the array contiguouslength of the slice contiguousdestination array contiguousoffset into destination array contiguous source array contiguousoffset into source array contiguousnumber of elements to copy contiguousdestination array contiguousoffset into destination array contiguous source array contiguousoffset into source array contiguousnumber of elements to copy contiguousArray to copy a slice of contiguousOffset into the array contiguousLength of the slice contiguousArray to copy a slice of contiguousOffset into the array contiguousLength of the slice contiguousarray to copy a slice from contiguousoffset into source array contiguouslength of the slice contiguous&index in the output array to insert at contiguouselement to insertI contiguouslength of list contiguouslisty contiguous start index contiguous end index™'!" (&%$#   )*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™  #$%&G`abde(Hcfghikjtu*+,-./0wxy34LM12NOrsE”Ž‚CDFƒ„…€{|}~ z8967<=>:;?@AB_—˜’‘“QRSTPY[Z\UV]^•–†ˆ‡‰ŠŒ‹XWqponIKJlm5"!v' )®        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¬­¯¬°±¬°²¬°³¬´µ¬¶·©¸¹¬º»¬¼½©¸¾©¸¿¬ÀÁ¬À¬ÀÃÄ'contiguous-0.5.2-JRZ0pC6W8mCGx3PQgrLlXyData.Primitive.Contiguous Data.Functor<$Control.Applicative<*>(primitive-0.7.2.0-LG0RgDOb8k2BUs9Dcz1WXeData.Primitive.PrimArray PrimArrayMutablePrimArrayData.Primitive.SmallArray SmallArraySmallMutableArrayData.Primitive.ArrayArray MutableArray1primitive-unlifted-0.1.3.0-C4mh5ZhisfpGtB3RIj2vZPData.Primitive.Unlifted.ArrayMutableUnliftedArray UnliftedArray ContiguousMutableElementemptynullnewreplicateMutableindexindex#indexMreadwriteresizesize sizeMutable unsafeFreezefreezethawcopy copyMutableclone cloneMutable insertSlicingequals equalsMutableunliftlift singleton doubleton tripleton quadrupletonrnfrunAlwaysappendinsertAt replaceAtmodifyAt modifyAt' modifyAtF modifyAtF'imapimap'mapmap'convertfoldrfoldr'foldlfoldl'ifoldl'ifoldr'foldMapfoldMap' foldlMap' ifoldlMap' ifoldlMap1'foldlM'ifoldlM'filterifiltermapMaybe catMaybes replicatereplicateMutableMunsafeFromListNunsafeFromListReverseMutableNunsafeFromListReverseN 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'zipapallany $fAlwaysa$fContiguousUnliftedArray$fContiguousArray$fContiguousPrimArray$fContiguousSmallArrayghc-primGHC.Prim ArrayArray#baseGHC.BaseMonadFunctor GHC.MaybeMaybeNothingJust Data.FoldableconcatGHC.Num+ GHC.TypesIntGHC.ErrerrorGHC.EnumsuccTrueFalse Data.EitherEitherLeftRight