return (MkSplitUniqSupply uniq s1 s2)
)
- mk_unique = _ccall_ genSymZh >>= \ (W# u#) ->
+ mk_unique = genSymZh >>= \ (W# u#) ->
return (I# (w2i (mask# `or#` u#)))
in
mk_supply#
+foreign import ccall unsafe "genSymZh" genSymZh :: IO Word
+
splitUniqSupply (MkSplitUniqSupply _ s1 s2) = (s1, s2)
\end{code}
\begin{code}
-uniqFromSupply (MkSplitUniqSupply (I# n) _ _) = mkUniqueGrimily n
-uniqsFromSupply (MkSplitUniqSupply (I# n) _ s2) = mkUniqueGrimily n : uniqsFromSupply s2
+uniqFromSupply (MkSplitUniqSupply n _ _) = mkUniqueGrimily n
+uniqsFromSupply (MkSplitUniqSupply n _ s2) = mkUniqueGrimily n : uniqsFromSupply s2
\end{code}
%************************************************************************