Safe Haskell | None |
---|---|
Language | Haskell98 |
- type Assumptions = Map Name [(Name, Tp)]
- type PatternAssumptions = Map Name Tp
- type Monos = Tps
- noAssumptions :: Map Name a
- listToAssumptions :: [(Name, Tp)] -> Assumptions
- combine :: Assumptions -> Assumptions -> Assumptions
- single :: Name -> Tp -> Assumptions
- type BindingGroups = [BindingGroup]
- type BindingGroup = (PatternAssumptions, Assumptions, ConstraintSets)
- type InheritedBDG = [(Names, (Monos, Int))]
- emptyBindingGroup :: BindingGroup
- combineBindingGroup :: BindingGroup -> BindingGroup -> BindingGroup
- concatBindingGroups :: BindingGroups -> BindingGroup
- type InputBDG = (Bool, Int, Int, Monos, Map Name TpScheme, Maybe (Assumptions, ConstraintSets), Int)
- type OutputBDG = (Assumptions, ConstraintSet, InheritedBDG, Int, Int, Map Name (Sigma Predicates))
- performBindingGroup :: InputBDG -> BindingGroups -> OutputBDG
- findMono :: Name -> InheritedBDG -> Monos
- getMonos :: TypeConstraints info -> Monos
- findCurrentChunk :: Name -> InheritedBDG -> Int
- topSort :: Vertex -> [Edge] -> [[Vertex]]
Documentation
type PatternAssumptions = Map Name Tp Source
noAssumptions :: Map Name a Source
listToAssumptions :: [(Name, Tp)] -> Assumptions Source
combine :: Assumptions -> Assumptions -> Assumptions Source
single :: Name -> Tp -> Assumptions Source
type BindingGroups = [BindingGroup] Source
type InheritedBDG = [(Names, (Monos, Int))] Source
type InputBDG = (Bool, Int, Int, Monos, Map Name TpScheme, Maybe (Assumptions, ConstraintSets), Int) Source
Input for binding group analysis
type OutputBDG = (Assumptions, ConstraintSet, InheritedBDG, Int, Int, Map Name (Sigma Predicates)) Source
findMono :: Name -> InheritedBDG -> Monos Source
getMonos :: TypeConstraints info -> Monos Source
findCurrentChunk :: Name -> InheritedBDG -> Int Source