úÎ!6:)JØ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌ Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Safe :ØÙÚÛ Safe ÜNoneHUV   comfort-arrayFThis data type wraps another array shape. Its index type is a wrapped Ý3. The advantages are: No conversion forth and back Ý and Index sh. You can convert once using - and .J whenever you need your application specific index type. No need for e.g. Storable (Index sh) , because Ý is already Þ. comfort-array2 denotes a shape of fixed size that is defined by ß and à3 methods. For correctness it is necessary that the ß and àN instances are properly implemented. Automatically derived instances are fine. comfort-array; denotes a range defined by the start index and the length. comfort-arrayB denotes an inclusive range like those of the Haskell 98 standard Array type from the array package. E.g. the shape type (Range Int32, Range Int64) is equivalent to the ix type (Int32, Int64) for Arrays. comfort-array: denotes a range starting at one and has a certain length. comfort-array; denotes a range starting at zero and has a certain length.  comfort-arrayIt should hold 'indexFromOffset sh k == indices sh !! k , but   should generally be faster.4 comfort-array(Row-major composition of two dimensions.5 comfort-arrayYou can use an arbitrary áY of indices as shape. The array elements are ordered according to the index order in the á.3  !"#$%&(')*+,-./0123*+,"#$%&(') !  -.  /01255â7ã7NoneHV"?ƒƒ NoneHV" „äåæçèéꅆ‡ˆëé9 None#„…†‡ˆ‰Š‹ŒŽ‘„‰Œ…†‹‡ŠˆŽ‘Œ9 NoneHV#ô’“”•—–˜™š›œžŸ ¡¢£€¥Š§š©”•—–“’˜™š›œžŸ ¡¢£€¥Š§š©NoneHV% ª«­¬®¯°±²³Žµ¶·ž¹ºª«­¬®¯°±²³Žµ¶·ž¹º°9 None%Û’“”•–—˜™š›œž¢£€¥Š§š©·ž¹º”•–—“’Š˜™š›œž¢£€¥§š©·¹žºNone&Ù ’“”Š·žœŸ¿ÀÁÂà ”“’œŠŸ¿ÀÁÂÞ·None'wÄÅÆÄÅÆNoneHV'媫¬­®¯°±²³Žµ¶ÇÈÉÊ˪«¬­®¯°ÇÈɱ²³ÊËŽµ¶ None(«ª±³ÊËÌÍÎÏÐÑÒÓÔÕÖתÌÍÎÔ±ÏгÑÒÓÊËÕÖ×Ô9 ì !!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ ˆ ‰ Š ‹ Œ(Ž‘’“”•–ˆˆ—˜™š›œžŸ ¡¢£€¥Š‰Š‹ˆˆ—§š‰Š‹‘’”©ª«¬­®£€¥‰Š‹œžœžŒ¯  § š Š Ž ° ± ²  ‘ ’ ” ) * $ % ³Žµ¶·ž¹·º»·ºŒœŸ¿ÀÁ ˆ —  § š  Â Ã*comfort-array-0.3.1-2JIOgpBsZCN6UEbUn0BRLaData.Array.Comfort.ShapeData.Array.Comfort.Shape.TestData.Array.Comfort.Boxed+Data.Array.Comfort.Storable.Mutable.Private#Data.Array.Comfort.Storable.Private#Data.Array.Comfort.Storable.Mutable-Data.Array.Comfort.Storable.Unchecked.Monadic%Data.Array.Comfort.Storable.UncheckedData.Array.Comfort.StorableData.Array.Comfort.Shape.Set Data.Array.Comfort.Shape.Utility"Data.Array.Comfort.Boxed.Unchecked-Data.Array.Comfort.Storable.Mutable.Unchecked:+:UpperTriangularLowerTriangular TriangulartriangularParttriangularSizeUpperLower DeferredIndexDeferred EnumerationShifted shiftedOffset shiftedSizeRange rangeFromrangeToOneBased oneBasedSize ZeroBased zeroBasedSize InvIndexedindexFromOffsetuncheckedIndexFromOffsetIndexedIndexindicesoffsetuncheckedOffsetinBounds sizeOffsetuncheckedSizeOffsetCsize uncheckedSize deferIndex revealIndexlowerTriangularupperTriangular triangleSize triangleRoot$fC(,,)$fC(,)$fCSet$fC() $fIndexed(,,) $fIndexed(,) $fIndexedSet $fIndexed()$fInvIndexed(,,)$fInvIndexed(,)$fInvIndexedSet$fInvIndexed()$fInvIndexedZeroBased $fCZeroBased$fStorableZeroBased$fNFDataZeroBased$fApplicativeZeroBased$fFunctorZeroBased$fInvIndexedOneBased $fCOneBased$fStorableOneBased$fNFDataOneBased$fApplicativeOneBased$fFunctorOneBased$fStorableRange$fInvIndexedRange$fIndexedRange$fCRange $fNFDataRange$fFunctorRange$fStorableShifted$fInvIndexedShifted$fIndexedShifted $fCShifted$fNFDataShifted$fFunctorShifted$fIndexedOneBased$fIndexedZeroBased$fStorableEnumeration$fInvIndexedEnumeration$fIndexedEnumeration$fCEnumeration$fNFDataEnumeration $fCDeferred$fNFDataDeferred$fStorableDeferredIndex$fInvIndexedDeferred$fIndexedDeferred$fTriangularPartUpper$fTriangularPartLower$fInvIndexedTriangular$fIndexedTriangular $fCTriangular$fNFDataTriangular$fInvIndexed:+: $fIndexed:+:$fC:+: $fNFData:+: $fEqZeroBased$fShowZeroBased $fEqOneBased$fShowOneBased $fEqRange $fShowRange $fEqShifted $fShowShifted$fEqEnumeration$fShowEnumeration $fEqDeferred$fShowDeferred$fEqDeferredIndex$fShowDeferredIndex $fEqLower $fShowLower $fEqUpper $fShowUpper$fEqTriangular$fShowTriangular$fEq:+: $fShow:+:testsArraytoListfromListvectorFromListmapshapefromMap!zipWith// accumulatetoAssociationsfromAssociationsIOArraySTArraybuffercopycreatecreateWithSizecreateWithSizeAndResult unsafeCreateunsafeCreateWithSizeunsafeCreateWithSizeAndResultunsafeArrayIOToPrimshow withArrayPtrwithPtrreadwriteupdatenewreshapemapShapefreezethaw unsafeFreeze unsafeThaw $fNFDataArray $fShowArray mapWithIndexsample fromBoxedtoBoxederrorIndexFromOffsetghc-prim GHC.TypesIntbaseForeign.StorableStorableGHC.EnumEnumBoundedcontainers-0.6.0.1Data.Set.InternalSet combineOffsetcombineSizeOffset toListLazy