M&Cxq      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop  Safe-Infered <Check whether an array has a valid internal representation. +Yield an array with just a single element. Append two arrays. Yield the length of an array. *Retrieve the element at the given index. Convert an array to a vector. Convert a vector to an array. Convert a list to an array. Convert an array to a list. 0Convert the outer level of an array to vectors. 5Convert the outer two levels of an array to vectors. 7Convert the outer three levels of an array to vectors. "Convert some vectors to an array. 'Convert some vectors to a nested array .Convert some vectors to a triply nested array  qr    qr Safe-InferedPretty print virtual / logical structure of data. -Pretty print the physical structure of data. stuvwxyzA{|}~ stuvwxyz Safe-Infered  !"#$%&  !"#$%&  !"#$%&  !"#$%& Safe-Infered'()'()'()'() Safe-Infered*:Given a value of an algebraic type, the tag tells us what + data constructor was used to create it. + Convert a * to an '. This is identity at the value level. , Convert an  to a *'. This is identity at the value level. -Get the * of a  value.  is 0,  is 1. . Convert a * to a  value. *+,-.*+,-.*+,-. Safe-Infered/=Enable internal consistency checks for operations that could  corrupt the heap. 0$Enable internal consistency checks.  This is NOT implied by / above. If you want both  you need to set both to `True.` 1DPrint tracing information for each flat array primitive to console.  The tracing hooks are in +`dph-prim-par:Data.Array.Parallel.Unlifted` /01/01/01  Safe-Infered2Bounds check, enabled when 0 = . =The first integer is the length of the array, and the second 8 is the index. The second must be greater or equal to '0' and less than & the first integer. If the not then  with the . 3Bounds check, enabled when / = . FThis version is used to check operations that could corrupt the heap. =The first integer is the length of the array, and the second 8 is the index. The second must be greater or equal to '0' and less than & the first integer. If the not then  with the . 4Length check, enabled when 0 = . 5Check that the second integer is greater or equal to `0' and less or equal + than the first integer. If the not then  with the . 5Slice check, enable when 0 = . !The vector must contain at least  sliceStart + sliceLen elements. 6Equality check, enabled when 0 = . The two a values must be equal, else .  The first " gives the location of the error, ( and the second some helpful message. 7-Given an array length, check it is not zero. 86Throw an error saying something was not intitialised. The 3 must contain a helpful message saying what module : the error occured in, and the possible reasons for it. - If not then a puppy dies at compile time. 234567823456782345678 Safe-Infered9=Records information about the use of a flat array primitive. =These are the operator names that the vectoriser introduces. DThe actual implementation of each operator varies depending on what ) DPH primitive library is being used. ?We only trace operators that are at least O(n) in complexity. p&Print tracing information to console. BThis function is used to wrap the calls to DPH primitives defined  in  dph-prim-par:Data.Array.Parallel.Unlifted Tracing is only enabled when 1 is .  otherwise it' s a no-op. 89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnop89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopep9nljgfedcb`^]\[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:oomkmhimommmmmma__mmmmm_VWmmmmmm____m__mmmmmmmom_mmmm_9cnljgfedcb`^]\[ZYXUTSRQPONMLKJIHGFEDCBA@?>=<;:oomkmhimommmmmma__mmmmm_VWmmmmmm____m__mmmmmmmom_mmmm_p Safe-Infered*+,-./012345678/012345678*+,-.         !"#$%&'()*+,-./0123456789:;<= > ? @ A B C DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ dph-base-0.6.1.1Data.Array.Parallel.Base.TextData.Array.Parallel.BaseData.Array.Parallel.ArrayData.Array.Parallel.PrettyData.Array.Parallel.Base.DTrace"Data.Array.Parallel.Base.TracePrimData.Array.Parallel.Base.TagData.Array.Parallel.Base.ConfigData.Array.Parallel.Base.DebugbaseGHC.ReadReadGHC.STST readListPrecreadPrecreadList readsPrecrunSTArrayvalid singletonappendlengthindextoVector fromVectorfromListtoList toVectors1 toVectors2 toVectors3 fromVectors1 fromVectors2 fromVectors3 PprVirtualpprv PprPhysicalpprp traceLoopST traceLoopIOtraceLoopEntry traceLoopExittraceLoopEntrySTtraceLoopExitSTtraceLoopEntryIOtraceLoopExitIOtraceFntraceArgtraceFshowsAppreadAppreadsAppTagtagToIntintToTagfromBooltoBool debugCriticaldebugtracePrimEnabledcheck checkCriticalcheckLen checkSlicecheckEq checkNotEmpty uninitialised TracePrimTraceIndices_s TraceSum_r TraceFold_r TraceFold1_s TraceFold_s TraceAppend_sTraceReplicate_rsTraceReplicate_sTraceElementsSelRep2_1TraceElementsSelRep2_0TraceIndicesSelRep2TraceMkSelRep2TraceElementsSel2_1TraceElementsSel2_0TraceIndicesSel2 TraceTagsSel2 TraceMkSel2TraceEnumFromStepLenEachTraceEnumFromStepLenTraceEnumFromThenToTraceEnumFromTo TraceIndexed TraceScanTraceSumTraceAnd TraceFold1 TraceFold TraceZipWithtraceSrc1LengthtraceSrc2Length TraceFilterTraceMap TraceCombine2 TraceCombine TracePackTraceInterleave TraceAppendtraceDstLength TraceUpdatetraceModLengthTraceMBPermute TraceBPermuteTraceBPermuteDft TracePermute TraceDrop TraceExtract traceStarttraceSliceLength TraceIndex traceIndex TraceRepeattraceSrcLengthTraceReplicate traceCount tracePrim$fArrayVectore $fArray[]e$fPprPhysicalVector$fPprPhysical(,)$fPprVirtualDouble$fPprVirtualInt$fPprVirtualBool$fPprPhysicalDouble$fPprPhysicalInt$fPprPhysicalBoolpretty-1.1.1.0Text.PrettyPrint.HughesPJ fullRender renderStylerenderstylefsepfcatcatsep<+><>$+$$$ punctuatehangnestvcathsephcatbracesbracketsparens doubleQuotesquotesrationaldoublefloatintegerintrbracelbracerbracklbrackrparenlparenequalsspacecoloncommasemiisEmptyempty zeroWidthText sizedTextptexttextcharDocChrStrPStr TextDetailsribbonsPerLine lineLengthmodeStylePageMode ZigZagModeLeftMode OneLineModeModeghc-prim GHC.TypesIntBoolFalseTrueGHC.ErrerrorGHC.BaseString