ghc-8.2.1.20171108: The GHC API

Safe HaskellNone
LanguageHaskell2010

PrelNames

Synopsis

Documentation

data Unique Source #

Unique identifier.

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

These are sometimes also referred to as "keys" in comments in GHC.

class Uniquable a where Source #

Class of things that we can obtain a Unique from

Minimal complete definition

getUnique

Methods

getUnique :: a -> Unique Source #

Instances

Uniquable Int # 

Methods

getUnique :: Int -> Unique Source #

Uniquable Name # 
Uniquable OccName # 
Uniquable TyCon # 
Uniquable FastString # 
Uniquable ComponentId # 
Uniquable InstalledUnitId # 
Uniquable UnitId # 
Uniquable ModuleName # 
Uniquable Module # 
Uniquable Unique # 
Uniquable RegClass # 
Uniquable Reg #

so we can put regs in UniqSets

Methods

getUnique :: Reg -> Unique Source #

Uniquable Reg # 

Methods

getUnique :: Reg -> Unique Source #

Uniquable RealReg # 
Uniquable VirtualReg # 
Uniquable PackageName # 
Uniquable SourcePackageId # 
Uniquable Var # 

Methods

getUnique :: Var -> Unique Source #

Uniquable PatSyn # 
Uniquable DataCon # 
Uniquable ConLike # 
Uniquable CoAxiomRule # 
Uniquable Class # 
Uniquable LocalReg # 
Uniquable EvBindsVar # 
Uniquable name => Uniquable (AnnTarget name) # 

Methods

getUnique :: AnnTarget name -> Unique Source #

Uniquable (CoAxiom br) # 

Methods

getUnique :: CoAxiom br -> Unique Source #