%
-% (c) The GRASP/AQUA Project, Glasgow University, 1992-1995
+% (c) The GRASP/AQUA Project, Glasgow University, 1992-1996
%
\section[Unique]{The @Unique@ data type and a (monadic) supply thereof}
textClassKey,
traceIdKey,
trueDataConKey,
+ unpackCString2IdKey,
+ unpackCStringAppendIdKey,
+ unpackCStringFoldrIdKey,
unpackCStringIdKey,
+ augmentIdKey,
+ appendIdKey,
+--NO: rangeComplaintIdKey,
packCStringIdKey,
- integerZeroIdKey, integerPlusOneIdKey, integerMinusOneIdKey,
+ integerZeroIdKey, integerPlusOneIdKey,
+ integerPlusTwoIdKey, integerMinusOneIdKey,
voidPrimIdKey,
cCallableClassKey,
cReturnableClassKey,
\begin{code}
mkPreludeClassUnique i = mkUnique '1' i
mkPreludeTyConUnique i = mkUnique '2' i
-mkPreludeDataConUnique i = mkUnique '3' i
-mkTupleDataConUnique i = mkUnique '4' i
+mkPreludeDataConUnique i = mkUnique 'Y' i -- must be alphabetic
+mkTupleDataConUnique i = mkUnique 'Z' i -- ditto (*may* be used in C labels)
-- mkPrimOpIdUnique op: see below (uses '5')
mkPreludeMiscIdUnique i = mkUnique '7' i
\end{code}
Now for other non-@DataCon@ @Ids@:
\begin{code}
absentErrorIdKey = mkPreludeMiscIdUnique 1
-buildIdKey = mkPreludeMiscIdUnique 2
-errorIdKey = mkPreludeMiscIdUnique 3
-foldlIdKey = mkPreludeMiscIdUnique 4
-foldrIdKey = mkPreludeMiscIdUnique 5
-forkIdKey = mkPreludeMiscIdUnique 6
-int2IntegerIdKey = mkPreludeMiscIdUnique 7
-integerMinusOneIdKey = mkPreludeMiscIdUnique 8
-integerPlusOneIdKey = mkPreludeMiscIdUnique 9
-integerZeroIdKey = mkPreludeMiscIdUnique 10
---UNUSED:lexIdKey = mkPreludeMiscIdUnique 11
-packCStringIdKey = mkPreludeMiscIdUnique 12
-parIdKey = mkPreludeMiscIdUnique 13
-parErrorIdKey = mkPreludeMiscIdUnique 14
-patErrorIdKey = mkPreludeMiscIdUnique 15
---UNUSED:readParenIdKey = mkPreludeMiscIdUnique 16
-realWorldPrimIdKey = mkPreludeMiscIdUnique 17
-runSTIdKey = mkPreludeMiscIdUnique 18
-seqIdKey = mkPreludeMiscIdUnique 19
---UNUSED:showParenIdKey = mkPreludeMiscIdUnique 20
---UNUSED:showSpaceIdKey = mkPreludeMiscIdUnique 21
-traceIdKey = mkPreludeMiscIdUnique 22
-unpackCStringIdKey = mkPreludeMiscIdUnique 23
-voidPrimIdKey = mkPreludeMiscIdUnique 24
+appendIdKey = mkPreludeMiscIdUnique 2
+augmentIdKey = mkPreludeMiscIdUnique 3
+buildIdKey = mkPreludeMiscIdUnique 4
+errorIdKey = mkPreludeMiscIdUnique 5
+foldlIdKey = mkPreludeMiscIdUnique 6
+foldrIdKey = mkPreludeMiscIdUnique 7
+forkIdKey = mkPreludeMiscIdUnique 8
+int2IntegerIdKey = mkPreludeMiscIdUnique 9
+integerMinusOneIdKey = mkPreludeMiscIdUnique 10
+integerPlusOneIdKey = mkPreludeMiscIdUnique 11
+integerPlusTwoIdKey = mkPreludeMiscIdUnique 12
+integerZeroIdKey = mkPreludeMiscIdUnique 13
+packCStringIdKey = mkPreludeMiscIdUnique 14
+parErrorIdKey = mkPreludeMiscIdUnique 15
+parIdKey = mkPreludeMiscIdUnique 16
+patErrorIdKey = mkPreludeMiscIdUnique 25
+--NO:rangeComplaintIdKey = mkPreludeMiscIdUnique 17
+realWorldPrimIdKey = mkPreludeMiscIdUnique 18
+runSTIdKey = mkPreludeMiscIdUnique 19
+seqIdKey = mkPreludeMiscIdUnique 20
+traceIdKey = mkPreludeMiscIdUnique 21
+unpackCString2IdKey = mkPreludeMiscIdUnique 22
+unpackCStringAppendIdKey= mkPreludeMiscIdUnique 23
+unpackCStringFoldrIdKey = mkPreludeMiscIdUnique 24
+unpackCStringIdKey = mkPreludeMiscIdUnique 25
+voidPrimIdKey = mkPreludeMiscIdUnique 26
#ifdef GRAN
-parLocalIdKey = mkPreludeMiscIdUnique 25
-parGlobalIdKey = mkPreludeMiscIdUnique 26
-noFollowIdKey = mkPreludeMiscIdUnique 27
-copyableIdKey = mkPreludeMiscIdUnique 28
+parLocalIdKey = mkPreludeMiscIdUnique 27
+parGlobalIdKey = mkPreludeMiscIdUnique 28
+noFollowIdKey = mkPreludeMiscIdUnique 29
+copyableIdKey = mkPreludeMiscIdUnique 30
#endif
#ifdef DPH
-podSelectorIdKey = mkPreludeMiscIdUnique 29
+podSelectorIdKey = mkPreludeMiscIdUnique 31
#endif {- Data Parallel Haskell -}
\end{code}