Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data KindError v loc
- = CycleDetected loc (UVar v loc) (ConstraintMap v loc)
- | UnexpectedArgument loc (UVar v loc) (UVar v loc) (ConstraintMap v loc)
- | ArgumentMismatch (UVar v loc) (UVar v loc) (UVar v loc) (ConstraintMap v loc)
- | ArgumentMismatchArrow (loc, Type v loc, Type v loc) (ConstraintConflict v loc) (ConstraintMap v loc)
- | EffectListMismatch (ConstraintConflict v loc) (ConstraintMap v loc)
- | ConstraintConflict (GeneratedConstraint v loc) (ConstraintConflict v loc) (ConstraintMap v loc)
- lspLoc :: Semigroup loc => KindError v loc -> loc
- data ConstraintConflict v loc = ConstraintConflict' {
- conflictedVar :: UVar v loc
- impliedConstraint :: Constraint (UVar v loc) v loc
- conflictedConstraint :: Constraint (UVar v loc) v loc
- improveError :: Var v => KindError v loc -> Solve v loc (KindError v loc)
Documentation
Errors that may arise during kind inference
CycleDetected loc (UVar v loc) (ConstraintMap v loc) | A variable is constrained to have an infinite kind |
UnexpectedArgument | Something of kind * or Effect is applied to an argument |
| |
ArgumentMismatch | |
| |
ArgumentMismatchArrow | |
| |
EffectListMismatch (ConstraintConflict v loc) (ConstraintMap v loc) | Something appeared in an effect list that isn't of kind Effect |
ConstraintConflict | Generic constraint conflict |
|
data ConstraintConflict v loc Source #
Two incompatible constraints on a UVar
.
ConstraintConflict' | |
|