ghc-8.0.2: The GHC API

Safe HaskellNone
LanguageHaskell2010

Unique

Contents

Synopsis

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

Minimal complete definition

getUnique

Methods

getUnique :: a -> Unique #

Instances

Uniquable Int # 

Methods

getUnique :: Int -> Unique #

Uniquable OccName # 

Methods

getUnique :: OccName -> Unique #

Uniquable UnitId # 

Methods

getUnique :: UnitId -> Unique #

Uniquable ModuleName # 
Uniquable Module # 

Methods

getUnique :: Module -> Unique #

Uniquable Name # 

Methods

getUnique :: Name -> Unique #

Uniquable FastString # 
Uniquable Unique # 

Methods

getUnique :: Unique -> Unique #

Uniquable RegClass # 

Methods

getUnique :: RegClass -> Unique #

Uniquable Reg # 

Methods

getUnique :: Reg -> Unique #

Uniquable RealReg # 

Methods

getUnique :: RealReg -> Unique #

Uniquable VirtualReg # 
Uniquable PackageName # 
Uniquable SourcePackageId # 
Uniquable ComponentId # 
Uniquable TyCon # 

Methods

getUnique :: TyCon -> Unique #

Uniquable Reg #

so we can put regs in UniqSets

Methods

getUnique :: Reg -> Unique #

Uniquable Var # 

Methods

getUnique :: Var -> Unique #

Uniquable CoAxiomRule # 
Uniquable DataCon # 

Methods

getUnique :: DataCon -> Unique #

Uniquable PatSyn # 

Methods

getUnique :: PatSyn -> Unique #

Uniquable ConLike # 

Methods

getUnique :: ConLike -> Unique #

Uniquable Class # 

Methods

getUnique :: Class -> Unique #

Uniquable LocalReg # 

Methods

getUnique :: LocalReg -> Unique #

Uniquable EvBindsVar # 
Uniquable (CoAxiom br) # 

Methods

getUnique :: CoAxiom br -> Unique #

Uniquable name => Uniquable (AnnTarget name) # 

Methods

getUnique :: AnnTarget name -> Unique #

Constructors, destructors and operations on Uniques

hasKey :: Uniquable a => a -> Unique -> Bool #

Making built-in uniques