incrUnique, -- Used for renumbering
deriveUnique, -- Ditto
+ newTagUnique, -- Used in CgCase
initTyVarUnique,
initTidyUniques,
incrUnique :: Unique -> Unique
deriveUnique :: Unique -> Int -> Unique
+newTagUnique :: Unique -> Char -> Unique
isTupleKey :: Unique -> Bool
\end{code}
-- any of the uniques produced any other way
deriveUnique (MkUnique i) delta = mkUnique 'X' (I# i + delta)
+-- newTagUnique changes the "domain" of a unique to a different char
+newTagUnique u c = mkUnique c i where (_,i) = unpkUnique u
+
-- pop the Char in the top 8 bits of the Unique(Supply)
-- No 64-bit bugs here, as long as we have at least 32 bits. --JSM