{-# GHC_PRAGMA INTERFACE VERSION 5 #-} interface SplitUniq where import Unique(Unique) type SUniqSM a = SplitUniqSupply -> a data SplitUniqSupply data Unique getSUnique :: SplitUniqSupply -> Unique getSUniqueAndDepleted :: SplitUniqSupply -> (Unique, SplitUniqSupply) getSUniques :: Int -> SplitUniqSupply -> [Unique] getSUniquesAndDepleted :: Int -> SplitUniqSupply -> ([Unique], SplitUniqSupply) initSUs :: SplitUniqSupply -> (SplitUniqSupply -> a) -> (SplitUniqSupply, a) mapAndUnzipSUs :: (a -> SplitUniqSupply -> (b, c)) -> [a] -> SplitUniqSupply -> ([b], [c]) mapSUs :: (a -> SplitUniqSupply -> b) -> [a] -> SplitUniqSupply -> [b] mkSplitUniqSupply :: Char -> _State _RealWorld -> (SplitUniqSupply, _State _RealWorld) returnSUs :: a -> SplitUniqSupply -> a splitUniqSupply :: SplitUniqSupply -> (SplitUniqSupply, SplitUniqSupply) thenSUs :: (SplitUniqSupply -> a) -> (a -> SplitUniqSupply -> b) -> SplitUniqSupply -> b