Safe Haskell | None |
---|---|
Language | Haskell98 |
This module defines the representation of Subtyping and WF Constraints, and the code for syntax-directed constraint generation.
- data CGInfo = CGInfo {
- hsCs :: ![SubC]
- hsWfs :: ![WfC]
- sCs :: ![SubC]
- fixCs :: ![FixSubC]
- isBind :: ![Bool]
- fixWfs :: ![FixWfC]
- globals :: !FEnv
- freshIndex :: !Integer
- binds :: !BindEnv
- annotMap :: !(AnnInfo (Annot SpecType))
- tyConInfo :: !(HashMap TyCon RTyCon)
- specQuals :: ![Qualifier]
- specDecr :: ![(Var, [Int])]
- termExprs :: !(HashMap Var [Expr])
- specLVars :: !(HashSet Var)
- specLazy :: !(HashSet Var)
- tyConEmbed :: !(TCEmb TyCon)
- kuts :: !Kuts
- lits :: ![(Symbol, Sort)]
- tcheck :: !Bool
- scheck :: !Bool
- trustghc :: !Bool
- pruneRefs :: !Bool
- logErrors :: ![TError SpecType]
- kvProf :: !KVProf
- recCount :: !Int
- generateConstraints :: GhcInfo -> CGInfo
- cgInfoFInfo :: CGInfo -> FInfo Cinfo
- cgInfoFInfoBot :: CGInfo -> FInfo Cinfo
- cgInfoFInfoKvars :: CGInfo -> [Symbol] -> FInfo Cinfo
Constraint information output by generator
CGInfo | |
|
Function that does the actual generation
Project Constraints to Fixpoint Format
cgInfoFInfo :: CGInfo -> FInfo Cinfo Source
cgInfoFInfoBot :: CGInfo -> FInfo Cinfo Source