summaryrefslogtreecommitdiff
path: root/compiler/utils/FastStringEnv.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/utils/FastStringEnv.hs')
-rw-r--r--compiler/utils/FastStringEnv.hs100
1 files changed, 0 insertions, 100 deletions
diff --git a/compiler/utils/FastStringEnv.hs b/compiler/utils/FastStringEnv.hs
deleted file mode 100644
index bc151f736b..0000000000
--- a/compiler/utils/FastStringEnv.hs
+++ /dev/null
@@ -1,100 +0,0 @@
-{-
-%
-% (c) The University of Glasgow 2006
-% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
-%
-\section[FastStringEnv]{@FastStringEnv@: FastString environments}
--}
-
-module FastStringEnv (
- -- * FastString environments (maps)
- FastStringEnv,
-
- -- ** Manipulating these environments
- mkFsEnv,
- emptyFsEnv, unitFsEnv,
- extendFsEnv_C, extendFsEnv_Acc, extendFsEnv,
- extendFsEnvList, extendFsEnvList_C,
- filterFsEnv,
- plusFsEnv, plusFsEnv_C, alterFsEnv,
- lookupFsEnv, lookupFsEnv_NF, delFromFsEnv, delListFromFsEnv,
- elemFsEnv, mapFsEnv,
-
- -- * Deterministic FastString environments (maps)
- DFastStringEnv,
-
- -- ** Manipulating these environments
- mkDFsEnv, emptyDFsEnv, dFsEnvElts, lookupDFsEnv
- ) where
-
-import GhcPrelude
-
-import GHC.Types.Unique.FM
-import GHC.Types.Unique.DFM
-import Maybes
-import FastString
-
-
--- | A non-deterministic set of FastStrings.
--- See Note [Deterministic UniqFM] in GHC.Types.Unique.DFM for explanation why it's not
--- deterministic and why it matters. Use DFastStringEnv if the set eventually
--- gets converted into a list or folded over in a way where the order
--- changes the generated code.
-type FastStringEnv a = UniqFM a -- Domain is FastString
-
-emptyFsEnv :: FastStringEnv a
-mkFsEnv :: [(FastString,a)] -> FastStringEnv a
-alterFsEnv :: (Maybe a-> Maybe a) -> FastStringEnv a -> FastString -> FastStringEnv a
-extendFsEnv_C :: (a->a->a) -> FastStringEnv a -> FastString -> a -> FastStringEnv a
-extendFsEnv_Acc :: (a->b->b) -> (a->b) -> FastStringEnv b -> FastString -> a -> FastStringEnv b
-extendFsEnv :: FastStringEnv a -> FastString -> a -> FastStringEnv a
-plusFsEnv :: FastStringEnv a -> FastStringEnv a -> FastStringEnv a
-plusFsEnv_C :: (a->a->a) -> FastStringEnv a -> FastStringEnv a -> FastStringEnv a
-extendFsEnvList :: FastStringEnv a -> [(FastString,a)] -> FastStringEnv a
-extendFsEnvList_C :: (a->a->a) -> FastStringEnv a -> [(FastString,a)] -> FastStringEnv a
-delFromFsEnv :: FastStringEnv a -> FastString -> FastStringEnv a
-delListFromFsEnv :: FastStringEnv a -> [FastString] -> FastStringEnv a
-elemFsEnv :: FastString -> FastStringEnv a -> Bool
-unitFsEnv :: FastString -> a -> FastStringEnv a
-lookupFsEnv :: FastStringEnv a -> FastString -> Maybe a
-lookupFsEnv_NF :: FastStringEnv a -> FastString -> a
-filterFsEnv :: (elt -> Bool) -> FastStringEnv elt -> FastStringEnv elt
-mapFsEnv :: (elt1 -> elt2) -> FastStringEnv elt1 -> FastStringEnv elt2
-
-emptyFsEnv = emptyUFM
-unitFsEnv x y = unitUFM x y
-extendFsEnv x y z = addToUFM x y z
-extendFsEnvList x l = addListToUFM x l
-lookupFsEnv x y = lookupUFM x y
-alterFsEnv = alterUFM
-mkFsEnv l = listToUFM l
-elemFsEnv x y = elemUFM x y
-plusFsEnv x y = plusUFM x y
-plusFsEnv_C f x y = plusUFM_C f x y
-extendFsEnv_C f x y z = addToUFM_C f x y z
-mapFsEnv f x = mapUFM f x
-extendFsEnv_Acc x y z a b = addToUFM_Acc x y z a b
-extendFsEnvList_C x y z = addListToUFM_C x y z
-delFromFsEnv x y = delFromUFM x y
-delListFromFsEnv x y = delListFromUFM x y
-filterFsEnv x y = filterUFM x y
-
-lookupFsEnv_NF env n = expectJust "lookupFsEnv_NF" (lookupFsEnv env n)
-
--- Deterministic FastStringEnv
--- See Note [Deterministic UniqFM] in GHC.Types.Unique.DFM for explanation why we need
--- DFastStringEnv.
-
-type DFastStringEnv a = UniqDFM a -- Domain is FastString
-
-emptyDFsEnv :: DFastStringEnv a
-emptyDFsEnv = emptyUDFM
-
-dFsEnvElts :: DFastStringEnv a -> [a]
-dFsEnvElts = eltsUDFM
-
-mkDFsEnv :: [(FastString,a)] -> DFastStringEnv a
-mkDFsEnv l = listToUDFM l
-
-lookupDFsEnv :: DFastStringEnv a -> FastString -> Maybe a
-lookupDFsEnv = lookupUDFM