ghc-8.0.0.20160204: The GHC API

Safe HaskellNone
LanguageHaskell2010

Unique

Contents

Synopsis

Main data types

data Unique Source

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

Minimal complete definition

getUnique

Methods

getUnique :: a -> Unique Source

Instances

Uniquable Int 

Methods

getUnique :: Int -> Unique Source

Uniquable OccName 
Uniquable FastString 
Uniquable UnitId 
Uniquable ModuleName 
Uniquable Module 
Uniquable Name 
Uniquable Unique 
Uniquable Reg

so we can put regs in UniqSets

Methods

getUnique :: Reg -> Unique Source

Uniquable RegClass 
Uniquable Reg 

Methods

getUnique :: Reg -> Unique Source

Uniquable RealReg 
Uniquable VirtualReg 
Uniquable PackageName 
Uniquable SourcePackageId 
Uniquable ComponentId 
Uniquable TyCon 
Uniquable Var 

Methods

getUnique :: Var -> Unique Source

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

Methods

getUnique :: AnnTarget name -> Unique Source

Uniquable (CoAxiom br) 

Methods

getUnique :: CoAxiom br -> Unique Source

Constructors, desctructors and operations on Uniques

Making built-in uniques