Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Unique
- class Uniquable a where
- hasKey :: Uniquable a => a -> Unique -> Bool
- cmpByUnique :: Uniquable a => a -> a -> Ordering
- pprUnique :: Unique -> SDoc
- mkUniqueGrimily :: Int -> Unique
- getKey :: Unique -> Int
- mkUnique :: Char -> Int -> Unique
- unpkUnique :: Unique -> (Char, Int)
- incrUnique :: Unique -> Unique
- deriveUnique :: Unique -> Int -> Unique
- newTagUnique :: Unique -> Char -> Unique
- initTyVarUnique :: Unique
- mkAlphaTyVarUnique :: Int -> Unique
- mkPrimOpIdUnique :: Int -> Unique
- mkTupleTyConUnique :: Boxity -> Arity -> Unique
- mkTupleDataConUnique :: Boxity -> Arity -> Unique
- mkCTupleTyConUnique :: Arity -> Unique
- mkPreludeMiscIdUnique :: Int -> Unique
- mkPreludeDataConUnique :: Arity -> Unique
- mkPreludeTyConUnique :: Int -> Unique
- mkPreludeClassUnique :: Int -> Unique
- mkPArrDataConUnique :: Int -> Unique
- mkCoVarUnique :: 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
- mkCostCentreUnique :: Int -> Unique
- tyConRepNameUnique :: Unique -> Unique
- dataConWorkerUnique :: Unique -> Unique
- dataConRepNameUnique :: Unique -> Unique
- mkBuiltinUnique :: Int -> Unique
- mkPseudoUniqueD :: Int -> Unique
- mkPseudoUniqueE :: Int -> Unique
- mkPseudoUniqueH :: Int -> Unique
Main data types
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 Source #
Class of things that we can obtain a Unique
from
Uniquable Int # | |
Uniquable OccName # | |
Uniquable UnitId # | |
Uniquable ModuleName # | |
Uniquable Module # | |
Uniquable Name # | |
Uniquable FastString # | |
Uniquable Unique # | |
Uniquable RegClass # | |
Uniquable Reg # | |
Uniquable RealReg # | |
Uniquable VirtualReg # | |
Uniquable Reg # | so we can put regs in UniqSets |
Uniquable PackageName # | |
Uniquable SourcePackageId # | |
Uniquable ComponentId # | |
Uniquable TyCon # | |
Uniquable Var # | |
Uniquable DataCon # | |
Uniquable PatSyn # | |
Uniquable ConLike # | |
Uniquable CoAxiomRule # | |
Uniquable Class # | |
Uniquable LocalReg # | |
Uniquable EvBindsVar # | |
Uniquable name => Uniquable (AnnTarget name) # | |
Uniquable (CoAxiom br) # | |
Constructors, destructors and operations on Unique
s
cmpByUnique :: Uniquable a => a -> a -> Ordering Source #
mkUniqueGrimily :: Int -> Unique Source #
incrUnique :: Unique -> Unique Source #
Making built-in uniques
mkAlphaTyVarUnique :: Int -> Unique Source #
mkPrimOpIdUnique :: Int -> Unique Source #
mkCTupleTyConUnique :: Arity -> Unique Source #
mkPreludeMiscIdUnique :: Int -> Unique Source #
mkPreludeDataConUnique :: Arity -> Unique Source #
mkPreludeTyConUnique :: Int -> Unique Source #
mkPreludeClassUnique :: Int -> Unique Source #
mkPArrDataConUnique :: Int -> Unique Source #
mkCoVarUnique :: Int -> Unique Source #
mkVarOccUnique :: FastString -> Unique Source #
mkDataOccUnique :: FastString -> Unique Source #
mkTvOccUnique :: FastString -> Unique Source #
mkTcOccUnique :: FastString -> Unique Source #
mkRegSingleUnique :: Int -> Unique Source #
mkRegPairUnique :: Int -> Unique Source #
mkRegClassUnique :: Int -> Unique Source #
mkRegSubUnique :: Int -> Unique Source #
mkCostCentreUnique :: Int -> Unique Source #
tyConRepNameUnique :: Unique -> Unique Source #
dataConWorkerUnique :: Unique -> Unique Source #
dataConRepNameUnique :: Unique -> Unique Source #
mkBuiltinUnique :: Int -> Unique Source #
mkPseudoUniqueD :: Int -> Unique Source #
mkPseudoUniqueE :: Int -> Unique Source #
mkPseudoUniqueH :: Int -> Unique Source #