Safe Haskell | None |
---|---|
Language | Haskell98 |
during type inference.
- data ConstraintInfo = CInfo_ {}
- type Properties = [Property]
- data Property
- = FolkloreConstraint
- | ConstraintPhaseNumber Int
- | HasTrustFactor Float
- | FuntionBindingEdge Int
- | InstantiatedTypeScheme TpScheme
- | SkolemizedTypeScheme (Tps, TpScheme)
- | IsUserConstraint Int Int
- | WithHint (String, MessageBlock)
- | ReductionErrorInfo Predicate
- | FromBindingGroup
- | IsImported Name
- | ApplicationEdge Bool [LocalInfo]
- | ExplicitTypedBinding
- | ExplicitTypedDefinition Tps Name
- | Unifier Int (String, LocalInfo, String)
- | EscapedSkolems [Int]
- | PredicateArisingFrom (Predicate, ConstraintInfo)
- | TypeSignatureLocation Range
- | TypePair (Tp, Tp)
- class HasProperties a where
- getProperties :: a -> Properties
- addProperty :: Property -> a -> a
- addProperties :: Properties -> a -> a
- maybeHead :: [a] -> Maybe a
- headWithDefault :: a -> [a] -> a
- maybeReductionErrorPredicate :: HasProperties a => a -> Maybe Predicate
- isFolkloreConstraint :: HasProperties a => a -> Bool
- maybeInstantiatedTypeScheme :: HasProperties a => a -> Maybe TpScheme
- maybeSkolemizedTypeScheme :: HasProperties a => a -> Maybe (Tps, TpScheme)
- maybeUserConstraint :: HasProperties a => a -> Maybe (Int, Int)
- phaseOfConstraint :: HasProperties a => a -> Int
- isExplicitTypedBinding :: HasProperties a => a -> Bool
- maybeExplicitTypedDefinition :: HasProperties a => a -> Maybe (Tps, Name)
- maybeTypeSignatureLocation :: HasProperties a => a -> Maybe Range
- maybePredicateArisingFrom :: HasProperties a => a -> Maybe (Predicate, ConstraintInfo)
- getEscapedSkolems :: HasProperties a => a -> [Int]
- childConstraint :: Int -> String -> InfoTree -> Properties -> ConstraintInfo
- specialConstraint :: String -> InfoTree -> (UHA_Source, Maybe UHA_Source) -> Properties -> ConstraintInfo
- orphanConstraint :: Int -> String -> InfoTree -> Properties -> ConstraintInfo
- resultConstraint :: String -> InfoTree -> Properties -> ConstraintInfo
- variableConstraint :: String -> UHA_Source -> Properties -> ConstraintInfo
- cinfoBindingGroupExplicitTypedBinding :: Tps -> Name -> Name -> ConstraintInfo
- cinfoSameBindingGroup :: Name -> ConstraintInfo
- cinfoBindingGroupImplicit :: Name -> ConstraintInfo
- cinfoBindingGroupExplicit :: Tps -> Names -> Name -> ConstraintInfo
- cinfoGeneralize :: Name -> ConstraintInfo
- type InfoTrees = [InfoTree]
- type InfoTree = DoublyLinkedTree LocalInfo
- data LocalInfo = LocalInfo {
- self :: UHA_Source
- assignedType :: Maybe Tp
- monos :: Tps
- typeSchemesInInfoTree :: FixpointSubstitution -> Predicates -> InfoTree -> [(Range, TpScheme)]
- type ConstraintSet = Tree (TypeConstraint ConstraintInfo)
- type ConstraintSets = Trees (TypeConstraint ConstraintInfo)
- highlyTrustedFactor :: Float
- highlyTrusted :: Property
- isHighlyTrusted :: ConstraintInfo -> Bool
- setTypePair :: (Tp, Tp) -> ConstraintInfo -> ConstraintInfo
- typepair :: ConstraintInfo -> (Tp, Tp)
- isExprTyped :: ConstraintInfo -> Bool
- tooGeneralLabels :: [ErrorLabel]
- makeTypeErrors :: Substitution sub => [Option] -> ClassEnvironment -> OrderedTypeSynonyms -> sub -> [(ConstraintInfo, ErrorLabel)] -> TypeErrors
- makeUnificationTypeError :: ConstraintInfo -> TypeError
- emptyConstraintInfo :: ConstraintInfo
- defaultConstraintInfo :: (UHA_Source, Maybe UHA_Source) -> ConstraintInfo
- standardConstraintInfo :: ConstraintInfo
- maybeSpecialTypeError :: ConstraintInfo -> Maybe TypeError
- setTypeError :: TypeError -> ConstraintInfo -> ConstraintInfo
Documentation
data ConstraintInfo Source
CInfo_ | |
|
type Properties = [Property] Source
class HasProperties a where Source
getProperties :: a -> Properties Source
addProperty :: Property -> a -> a Source
addProperties :: Properties -> a -> a Source
headWithDefault :: a -> [a] -> a Source
maybeReductionErrorPredicate :: HasProperties a => a -> Maybe Predicate Source
isFolkloreConstraint :: HasProperties a => a -> Bool Source
maybeInstantiatedTypeScheme :: HasProperties a => a -> Maybe TpScheme Source
Returns only type schemes with at least one quantifier
maybeSkolemizedTypeScheme :: HasProperties a => a -> Maybe (Tps, TpScheme) Source
maybeUserConstraint :: HasProperties a => a -> Maybe (Int, Int) Source
phaseOfConstraint :: HasProperties a => a -> Int Source
isExplicitTypedBinding :: HasProperties a => a -> Bool Source
maybeExplicitTypedDefinition :: HasProperties a => a -> Maybe (Tps, Name) Source
maybeTypeSignatureLocation :: HasProperties a => a -> Maybe Range Source
maybePredicateArisingFrom :: HasProperties a => a -> Maybe (Predicate, ConstraintInfo) Source
getEscapedSkolems :: HasProperties a => a -> [Int] Source
childConstraint :: Int -> String -> InfoTree -> Properties -> ConstraintInfo Source
specialConstraint :: String -> InfoTree -> (UHA_Source, Maybe UHA_Source) -> Properties -> ConstraintInfo Source
orphanConstraint :: Int -> String -> InfoTree -> Properties -> ConstraintInfo Source
resultConstraint :: String -> InfoTree -> Properties -> ConstraintInfo Source
variableConstraint :: String -> UHA_Source -> Properties -> ConstraintInfo Source
cinfoBindingGroupExplicitTypedBinding :: Tps -> Name -> Name -> ConstraintInfo Source
cinfoBindingGroupExplicit :: Tps -> Names -> Name -> ConstraintInfo Source
type InfoTree = DoublyLinkedTree LocalInfo Source
LocalInfo | |
|
typeSchemesInInfoTree :: FixpointSubstitution -> Predicates -> InfoTree -> [(Range, TpScheme)] Source
type ConstraintSet = Tree (TypeConstraint ConstraintInfo) Source
setTypePair :: (Tp, Tp) -> ConstraintInfo -> ConstraintInfo Source
typepair :: ConstraintInfo -> (Tp, Tp) Source
isExprTyped :: ConstraintInfo -> Bool Source
makeTypeErrors :: Substitution sub => [Option] -> ClassEnvironment -> OrderedTypeSynonyms -> sub -> [(ConstraintInfo, ErrorLabel)] -> TypeErrors Source