Unique
Contents
- data Unique
- class Uniquable a where
- hasKey :: Uniquable a => a -> Unique -> Bool
- pprUnique :: Unique -> SDoc
- mkUniqueGrimily :: Int -> Unique
- getKey :: Unique -> Int
- getKeyFastInt :: Unique -> FastInt
- incrUnique :: Unique -> Unique
- deriveUnique :: Unique -> Int -> Unique
- newTagUnique :: Unique -> Char -> Unique
- initTyVarUnique :: Unique
- isTupleKey :: Unique -> Bool
- mkAlphaTyVarUnique :: Int -> Unique
- mkPrimOpIdUnique :: Int -> Unique
- mkTupleTyConUnique :: Boxity -> Int -> Unique
- mkTupleDataConUnique :: Boxity -> Int -> Unique
- mkPreludeMiscIdUnique :: Int -> Unique
- mkPreludeDataConUnique :: Int -> Unique
- mkPreludeTyConUnique :: Int -> Unique
- mkPreludeClassUnique :: Int -> Unique
- mkPArrDataConUnique :: Int -> Unique
- mkVarOccUnique :: FastString -> Unique
- mkDataOccUnique :: FastString -> Unique
- mkTvOccUnique :: FastString -> Unique
- mkTcOccUnique :: FastString -> Unique
- mkRegSingleUnique :: Int -> Unique
- mkRegPairUnique :: Int -> Unique
- mkRegClassUnique :: Int -> Unique
- mkRegSubUnique :: Int -> Unique
- mkBuiltinUnique :: Int -> Unique
- mkPseudoUniqueC :: Int -> Unique
- mkPseudoUniqueD :: Int -> Unique
- mkPseudoUniqueE :: Int -> Unique
- mkPseudoUniqueH :: Int -> Unique
Main data types
data Unique
The type of unique identifiers that are used in many places in GHC
for fast ordering and equality tests. You should generate these with
the functions from the UniqSupply
module
class Uniquable a where
Class of things that we can obtain a Unique
from
Instances
Uniquable Int | |
Uniquable PackageId | |
Uniquable ModuleName | |
Uniquable Module | |
Uniquable OccName | |
Uniquable FastString | |
Uniquable Unique | |
Uniquable RegClass | |
Uniquable Reg | |
Uniquable RealReg | |
Uniquable VirtualReg | |
Uniquable Reg | so we can put regs in UniqSets |
Uniquable SlotClass | |
Uniquable TyCon | |
Uniquable Name | |
Uniquable Var | |
Uniquable Class | |
Uniquable DataCon | |
Uniquable BlockId | |
Uniquable LocalReg | |
Uniquable Store | |
Uniquable name => Uniquable (AnnTarget name) |
Constructors, desctructors and operations on Unique
s
mkUniqueGrimily :: Int -> Unique
getKeyFastInt :: Unique -> FastInt
incrUnique :: Unique -> Unique
deriveUnique :: Unique -> Int -> Unique
newTagUnique :: Unique -> Char -> Unique
isTupleKey :: Unique -> Bool
Making built-in uniques
mkAlphaTyVarUnique :: Int -> Unique
mkPrimOpIdUnique :: Int -> Unique
mkTupleTyConUnique :: Boxity -> Int -> Unique
mkTupleDataConUnique :: Boxity -> Int -> Unique
mkPreludeMiscIdUnique :: Int -> Unique
mkPreludeDataConUnique :: Int -> Unique
mkPreludeTyConUnique :: Int -> Unique
mkPreludeClassUnique :: Int -> Unique
mkPArrDataConUnique :: Int -> Unique
mkVarOccUnique :: FastString -> Unique
mkDataOccUnique :: FastString -> Unique
mkTvOccUnique :: FastString -> Unique
mkTcOccUnique :: FastString -> Unique
mkRegSingleUnique :: Int -> Unique
mkRegPairUnique :: Int -> Unique
mkRegClassUnique :: Int -> Unique
mkRegSubUnique :: Int -> Unique
mkBuiltinUnique :: Int -> Unique
mkPseudoUniqueC :: Int -> Unique
mkPseudoUniqueD :: Int -> Unique
mkPseudoUniqueE :: Int -> Unique
mkPseudoUniqueH :: Int -> Unique