| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Unison.KindInference.Error
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)
- | SolveError (SolveError 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
Constructors
| 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 |
Fields
| |
| ArgumentMismatch | |
Fields
| |
| ArgumentMismatchArrow | |
Fields
| |
| EffectListMismatch (ConstraintConflict v loc) (ConstraintMap v loc) | Something appeared in an effect list that isn't of kind Effect |
| ConstraintConflict | Generic constraint conflict |
Fields
| |
| SolveError (SolveError loc) | |
data ConstraintConflict v loc Source #
Two incompatible constraints on a UVar.
Constructors
| ConstraintConflict' | |
Fields
| |