From ff2b99e19fc4245c171edd399f0e18301e0ba535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Sinan=20A=C4=9Facan?= <omeragacan@gmail.com> Date: Tue, 25 Jun 2019 13:35:35 +0300 Subject: [PATCH] Remove unused UniqSupply functions --- compiler/basicTypes/UniqSupply.hs | 43 +------------------------------ 1 file changed, 1 insertion(+), 42 deletions(-) diff --git a/compiler/basicTypes/UniqSupply.hs b/compiler/basicTypes/UniqSupply.hs index 2ab80e99bd60..7e87315212a5 100644 --- a/compiler/basicTypes/UniqSupply.hs +++ b/compiler/basicTypes/UniqSupply.hs @@ -22,15 +22,12 @@ module UniqSupply ( mkSplitUniqSupply, splitUniqSupply, listSplitUniqSupply, - splitUniqSupply3, splitUniqSupply4, -- * Unique supply monad and its abstraction - UniqSM, MonadUnique(..), liftUs, + UniqSM, MonadUnique(..), -- ** Operations on the monad initUs, initUs_, - lazyThenUs, lazyMapUs, - getUniqueSupplyM3, -- * Set supply strategy initUniqSupply @@ -114,22 +111,6 @@ uniqFromSupply (MkSplitUniqSupply n _ _) = mkUniqueGrimily n uniqsFromSupply (MkSplitUniqSupply n _ s2) = mkUniqueGrimily n : uniqsFromSupply s2 takeUniqFromSupply (MkSplitUniqSupply n s1 _) = (mkUniqueGrimily n, s1) --- | Build three 'UniqSupply' from a single one, --- each of which can supply its own unique -splitUniqSupply3 :: UniqSupply -> (UniqSupply, UniqSupply, UniqSupply) -splitUniqSupply3 us = (us1, us2, us3) - where - (us1, us') = splitUniqSupply us - (us2, us3) = splitUniqSupply us' - --- | Build four 'UniqSupply' from a single one, --- each of which can supply its own unique -splitUniqSupply4 :: UniqSupply -> (UniqSupply, UniqSupply, UniqSupply, UniqSupply) -splitUniqSupply4 us = (us1, us2, us3, us4) - where - (us1, us2, us') = splitUniqSupply3 us - (us3, us4) = splitUniqSupply us' - {- ************************************************************************ * * @@ -182,7 +163,6 @@ initUs_ :: UniqSupply -> UniqSM a -> a initUs_ init_us m = case unUSM m init_us of { UniqResult r _ -> r } {-# INLINE thenUs #-} -{-# INLINE lazyThenUs #-} {-# INLINE returnUs #-} {-# INLINE splitUniqSupply #-} @@ -199,10 +179,6 @@ thenUs (USM expr) cont = USM (\us0 -> case (expr us0) of UniqResult result us1 -> unUSM (cont result) us1) -lazyThenUs :: UniqSM a -> (a -> UniqSM b) -> UniqSM b -lazyThenUs expr cont - = USM (\us0 -> let (result, us1) = liftUSM expr us0 in unUSM (cont result) us1) - thenUs_ :: UniqSM a -> UniqSM b -> UniqSM b thenUs_ (USM expr) (USM cont) = USM (\us0 -> case (expr us0) of { UniqResult _ us1 -> cont us1 }) @@ -234,12 +210,6 @@ instance MonadUnique UniqSM where getUniqueM = getUniqueUs getUniquesM = getUniquesUs -getUniqueSupplyM3 :: MonadUnique m => m (UniqSupply, UniqSupply, UniqSupply) -getUniqueSupplyM3 = liftM3 (,,) getUniqueSupplyM getUniqueSupplyM getUniqueSupplyM - -liftUs :: MonadUnique m => UniqSM a -> m a -liftUs m = getUniqueSupplyM >>= return . flip initUs_ m - getUniqueUs :: UniqSM Unique getUniqueUs = USM (\us0 -> case takeUniqFromSupply us0 of (u,us1) -> UniqResult u us1) @@ -247,14 +217,3 @@ getUniqueUs = USM (\us0 -> case takeUniqFromSupply us0 of getUniquesUs :: UniqSM [Unique] getUniquesUs = USM (\us0 -> case splitUniqSupply us0 of (us1,us2) -> UniqResult (uniqsFromSupply us1) us2) - --- {-# SPECIALIZE mapM :: (a -> UniqSM b) -> [a] -> UniqSM [b] #-} --- {-# SPECIALIZE mapAndUnzipM :: (a -> UniqSM (b,c)) -> [a] -> UniqSM ([b],[c]) #-} --- {-# SPECIALIZE mapAndUnzip3M :: (a -> UniqSM (b,c,d)) -> [a] -> UniqSM ([b],[c],[d]) #-} - -lazyMapUs :: (a -> UniqSM b) -> [a] -> UniqSM [b] -lazyMapUs _ [] = returnUs [] -lazyMapUs f (x:xs) - = f x `lazyThenUs` \ r -> - lazyMapUs f xs `lazyThenUs` \ rs -> - returnUs (r:rs) -- GitLab