X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FbasicTypes%2FUniqSupply.lhs;fp=ghc%2Fcompiler%2FbasicTypes%2FUniqSupply.lhs;h=a24a4c199613b3babe3d6b047e595ae4379779a1;hb=0b62f53e6da34769aa1bf8409d9987a5311bb516;hp=4f56474a52fe486066a5dc07e94ace0642a6b439;hpb=966ad019456f8a5f3aac409f75997a1c694a3a7b;p=ghc-hetmet.git diff --git a/ghc/compiler/basicTypes/UniqSupply.lhs b/ghc/compiler/basicTypes/UniqSupply.lhs index 4f56474..a24a4c1 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, initUs_, thenUs, thenUs_, returnUs, fixUs, getUs, setUs, + initUs, initUs_, thenUs, thenUs_, returnUs, fixUs, getUs, withUs, getUniqueUs, getUniquesUs, mapUs, mapAndUnzipUs, mapAndUnzip3Us, thenMaybeUs, mapAccumLUs, @@ -24,8 +24,6 @@ module UniqSupply ( #include "HsVersions.h" import Unique -import Panic ( panic ) - import GlaExts #if __GLASGOW_HASKELL__ < 301 @@ -149,11 +147,11 @@ thenUs_ expr cont us returnUs :: a -> UniqSM a returnUs result us = (result, us) +withUs :: (UniqSupply -> (a, UniqSupply)) -> UniqSM a +withUs f us = f us -- Ha ha! + getUs :: UniqSM UniqSupply -getUs us = (us, panic "getUs: bad supply") - -setUs :: UniqSupply -> UniqSM () -setUs us old_us = ((), us) +getUs us = splitUniqSupply us getUniqueUs :: UniqSM Unique getUniqueUs us = case splitUniqSupply us of