- mkClosureVar <- dsLookupGlobalId mkClosureName
- applyClosureVar <- dsLookupGlobalId applyClosureName
- mkClosurePVar <- dsLookupGlobalId mkClosurePName
- applyClosurePVar <- dsLookupGlobalId applyClosurePName
- lengthPAVar <- dsLookupGlobalId lengthPAName
- replicatePAVar <- dsLookupGlobalId replicatePAName
- emptyPAVar <- dsLookupGlobalId emptyPAName
- -- packPAVar <- dsLookupGlobalId packPAName
- -- combinePAVar <- dsLookupGlobalId combinePAName
- intEqPAVar <- dsLookupGlobalId intEqPAName
+ voidVar <- externalVar nDP_REPR FSLIT("void")
+ mkPRVar <- externalVar nDP_PARRAY FSLIT("mkPR")
+ mkClosureVar <- externalVar nDP_CLOSURE FSLIT("mkClosure")
+ applyClosureVar <- externalVar nDP_CLOSURE FSLIT("$:")
+ mkClosurePVar <- externalVar nDP_CLOSURE FSLIT("mkClosureP")
+ applyClosurePVar <- externalVar nDP_CLOSURE FSLIT("$:^")
+ replicatePAIntPrimVar <- externalVar nDP_PRIM FSLIT("replicatePA_Int#")
+ upToPAIntPrimVar <- externalVar nDP_PRIM FSLIT("upToPA_Int#")
+ selectPAIntPrimVar <- externalVar nDP_PRIM FSLIT("selectPA_Int#")
+ truesPABoolPrimVar <- externalVar nDP_PRIM FSLIT("truesPA_Bool#")
+ lengthPAVar <- externalVar nDP_PARRAY FSLIT("lengthPA")
+ replicatePAVar <- externalVar nDP_PARRAY FSLIT("replicatePA")
+ emptyPAVar <- externalVar nDP_PARRAY FSLIT("emptyPA")
+ packPAVar <- externalVar nDP_PARRAY FSLIT("packPA")
+
+ combines <- mapM (externalVar nDP_PARRAY)
+ [mkFastString ("combine" ++ show i ++ "PA")
+ | i <- [2..mAX_NDP_COMBINE]]
+ let combinePAVars = listArray (2, mAX_NDP_COMBINE) combines