| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Cryptol.TypeCheck.Error
Synopsis
- cleanupErrors :: [(Range, Error)] -> [(Range, Error)]
- subsumes :: Error -> Error -> Bool
- data Warning
- data Error
- = ErrorMsg Doc
- | KindMismatch Kind Kind
- | TooManyTypeParams Int Kind
- | TyVarWithParams
- | TooManyTySynParams Name Int
- | TooFewTySynParams Name Int
- | RecursiveTypeDecls [Name]
- | TypeMismatch Type Type
- | RecursiveType Type Type
- | UnsolvedGoals Bool [Goal]
- | UnsolvedDelayedCt DelayedCt
- | UnexpectedTypeWildCard
- | TypeVariableEscaped Type [TParam]
- | NotForAll TVar Type
- | UnusableFunction Name [Prop]
- | TooManyPositionalTypeParams
- | CannotMixPositionalAndNamedTypeParams
- | UndefinedTypeParameter (Located Ident)
- | RepeatedTypeParameter Ident [Range]
- | AmbiguousType [Name] [TVar]
Documentation
Constructors
| DefaultingKind (TParam Name) Kind | |
| DefaultingWildType Kind | |
| DefaultingTo TVarInfo Type |
Instances
Various errors that might happen during type checking/inference
Constructors
| ErrorMsg Doc | Just say this |
| KindMismatch Kind Kind | Expected kind, inferred kind |
| TooManyTypeParams Int Kind | Number of extra parameters, kind of result
(which should not be of the form |
| TyVarWithParams | A type variable was applied to some arguments. |
| TooManyTySynParams Name Int | Type-synonym, number of extra params |
| TooFewTySynParams Name Int | Type-synonym, number of missing params |
| RecursiveTypeDecls [Name] | The type synonym declarations are recursive |
| TypeMismatch Type Type | Expected type, inferred type |
| RecursiveType Type Type | Unification results in a recursive type |
| UnsolvedGoals Bool [Goal] | A constraint that we could not solve The boolean indicates if we know that this constraint is impossible. |
| UnsolvedDelayedCt DelayedCt | A constraint (with context) that we could not solve |
| UnexpectedTypeWildCard | Type wild cards are not allowed in this context (e.g., definitions of type synonyms). |
| TypeVariableEscaped Type [TParam] | Unification variable depends on quantified variables that are not in scope. |
| NotForAll TVar Type | Quantified type variables (of kind *) need to match the given type, so it does not work for all types. |
| UnusableFunction Name [Prop] | The given constraints causes the signature of the function to be not-satisfiable. |
| TooManyPositionalTypeParams | Too many positional type arguments, in an explicit type instantiation |
| CannotMixPositionalAndNamedTypeParams | |
| UndefinedTypeParameter (Located Ident) | |
| RepeatedTypeParameter Ident [Range] | |
| AmbiguousType [Name] [TVar] |