X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FbasicTypes%2FUniqSupply.lhs;fp=ghc%2Fcompiler%2FbasicTypes%2FUniqSupply.lhs;h=13175fb3b31151be54119bd31d7c7ee8fa469971;hb=d133b73a4d4717892ced072d05e039a54ede0ceb;hp=4b8a7564f7c5f6f1ada17f766ff64129de7969ac;hpb=f83ad713ad73e583fd138bb17e7341041b36a416;p=ghc-hetmet.git diff --git a/ghc/compiler/basicTypes/UniqSupply.lhs b/ghc/compiler/basicTypes/UniqSupply.lhs index 4b8a756..13175fb 100644 --- a/ghc/compiler/basicTypes/UniqSupply.lhs +++ b/ghc/compiler/basicTypes/UniqSupply.lhs @@ -11,7 +11,7 @@ module UniqSupply ( uniqFromSupply, uniqsFromSupply, -- basic ops UniqSM, -- type: unique supply monad - initUs, thenUs, thenUs_, returnUs, fixUs, getUs, setUs, + initUs, initUs_, thenUs, thenUs_, returnUs, fixUs, getUs, setUs, getUniqueUs, getUniquesUs, mapUs, mapAndUnzipUs, mapAndUnzip3Us, thenMaybeUs, mapAccumLUs, @@ -113,11 +113,12 @@ uniqsFromSupply (I# i) supply = i `get_from` supply \begin{code} type UniqSM result = UniqSupply -> (result, UniqSupply) --- the initUs function also returns the final UniqSupply +-- the initUs function also returns the final UniqSupply; initUs_ drops it +initUs :: UniqSupply -> UniqSM a -> (a,UniqSupply) +initUs init_us m = case m init_us of { (r,us) -> (r,us) } -initUs :: UniqSupply -> UniqSM a -> a - -initUs init_us m = case m init_us of { (r,_) -> r } +initUs_ :: UniqSupply -> UniqSM a -> a +initUs_ init_us m = case m init_us of { (r,us) -> r } {-# INLINE thenUs #-} {-# INLINE returnUs #-}