Safe Haskell | None |
---|---|
Language | Haskell2010 |
GHC.Builtin.Uniques
Description
This is where we define a mapping from Uniques to their associated known-key Names for things associated with tuples and sums. We use this mapping while deserializing known-key Names in interface file symbol tables, which are encoded as their Unique. See Note [Symbol table representation of names] for details.
Synopsis
- knownUniqueName :: Unique -> Maybe Name
- mkSumTyConUnique :: Arity -> Unique
- mkSumDataConUnique :: ConTagZ -> Arity -> Unique
- mkTupleTyConUnique :: Boxity -> Arity -> Unique
- mkTupleDataConUnique :: Boxity -> Arity -> Unique
- isTupleTyConUnique :: Unique -> Maybe (Boxity, Arity)
- mkCTupleTyConUnique :: Arity -> Unique
- mkCTupleDataConUnique :: Arity -> Unique
- mkCTupleSelIdUnique :: ConTagZ -> Arity -> Unique
- mkAlphaTyVarUnique :: Int -> Unique
- mkPrimOpIdUnique :: Int -> Unique
- mkPrimOpWrapperUnique :: Int -> Unique
- mkPreludeMiscIdUnique :: Int -> Unique
- mkPreludeDataConUnique :: Int -> Unique
- mkPreludeTyConUnique :: Int -> Unique
- mkPreludeClassUnique :: Int -> Unique
- mkRegSingleUnique :: Int -> Unique
- mkRegPairUnique :: Int -> Unique
- mkRegClassUnique :: Int -> Unique
- mkRegSubUnique :: Int -> Unique
- mkCostCentreUnique :: Int -> Unique
- varNSUnique :: Unique
- dataNSUnique :: Unique
- tvNSUnique :: Unique
- tcNSUnique :: Unique
- mkFldNSUnique :: FastString -> Unique
- isFldNSUnique :: Unique -> Bool
- mkBuiltinUnique :: Int -> Unique
- mkPseudoUniqueE :: Int -> Unique
- tyConRepNameUnique :: Unique -> Unique
- dataConWorkerUnique :: Unique -> Unique
- dataConTyRepNameUnique :: Unique -> Unique
- initExitJoinUnique :: Unique
- mkBoxingTyConUnique :: Int -> Unique
- boxingDataConUnique :: Unique -> Unique
Looking up known-key names
Getting the Unique
s of Name
s
Anonymous sums
mkSumTyConUnique :: Arity -> Unique #
mkSumDataConUnique :: ConTagZ -> Arity -> Unique #
Tuples
Vanilla
mkTupleTyConUnique :: Boxity -> Arity -> Unique #
mkTupleDataConUnique :: Boxity -> Arity -> Unique #
isTupleTyConUnique :: Unique -> Maybe (Boxity, Arity) #
This function is an inverse of mkTupleTyConUnique
Constraint
mkCTupleTyConUnique :: Arity -> Unique #
mkCTupleDataConUnique :: Arity -> Unique #
mkCTupleSelIdUnique :: ConTagZ -> Arity -> Unique #
Making built-in uniques
mkAlphaTyVarUnique :: Int -> Unique #
mkPrimOpIdUnique :: Int -> Unique #
mkPrimOpWrapperUnique :: Int -> Unique #
mkPreludeMiscIdUnique :: Int -> Unique #
mkPreludeDataConUnique :: Int -> Unique #
mkPreludeTyConUnique :: Int -> Unique #
mkPreludeClassUnique :: Int -> Unique #
mkRegSingleUnique :: Int -> Unique #
mkRegPairUnique :: Int -> Unique #
mkRegClassUnique :: Int -> Unique #
mkRegSubUnique :: Int -> Unique #
mkCostCentreUnique :: Int -> Unique #
varNSUnique :: Unique #
dataNSUnique :: Unique #
tvNSUnique :: Unique #
tcNSUnique :: Unique #
mkFldNSUnique :: FastString -> Unique #
isFldNSUnique :: Unique -> Bool #
mkBuiltinUnique :: Int -> Unique #
mkPseudoUniqueE :: Int -> Unique #
Deriving uniques
From TyCon name uniques
tyConRepNameUnique :: Unique -> Unique #
From DataCon name uniques
dataConWorkerUnique :: Unique -> Unique #
dataConTyRepNameUnique :: Unique -> Unique #
mkBoxingTyConUnique :: Int -> Unique #
boxingDataConUnique :: Unique -> Unique #