| ConstantConditionError |
An application of ifElse where the condition is a literal boolean, creating a dead branch (optional)
|
| DuplicateBindingError |
A duplicate binding name in a let expression
|
| DuplicateFieldError |
A duplicate field name in a record or union type
|
| DuplicateRecordTypeFieldNamesError |
A record type with duplicate field names
|
| DuplicateUnionTypeFieldNamesError |
A union type with duplicate field names
|
| EmptyCaseStatementError |
A case statement with no cases and no default (optional)
|
| EmptyLetBindingsError |
A let expression with an empty list of bindings (optional)
|
| EmptyRecordTypeError |
A record type with no fields; TypeUnit is preferred for the unit-like case (optional)
|
| EmptyTermAnnotationError |
A term annotation with an empty annotation map (optional)
|
| EmptyTypeAnnotationError |
A type annotation with an empty annotation map (optional)
|
| EmptyTypeNameInTermError |
A record, injection, projection, or case statement with an empty type name (optional)
|
| EmptyUnionTypeError |
A union type with no alternatives; TypeVoid is preferred (optional)
|
| InvalidForallParameterNameError |
A forall type parameter name that violates type variable naming conventions (optional)
|
| InvalidLambdaParameterNameError |
A lambda parameter name that violates naming conventions (optional)
|
| InvalidLetBindingNameError |
A let binding name that violates naming conventions (optional)
|
| InvalidTermError |
An error indicating that a term is invalid
|
| InvalidTermError.ConstantCondition |
An ifElse with a literal boolean condition (optional)
|
| InvalidTermError.DuplicateBinding |
A duplicate binding name in a let expression
|
| InvalidTermError.DuplicateField |
A duplicate field name in a record or case statement
|
| InvalidTermError.EmptyCaseStatement |
A case statement with no cases and no default (optional)
|
| InvalidTermError.EmptyLetBindings |
A let expression with no bindings (optional)
|
| InvalidTermError.EmptyTermAnnotation |
A term annotation with an empty annotation map (optional)
|
| InvalidTermError.EmptyTypeNameInTerm |
A term with an empty type name (optional)
|
| InvalidTermError.InvalidLambdaParameterName |
A lambda parameter name violating naming conventions (optional)
|
| InvalidTermError.InvalidLetBindingName |
A let binding name violating naming conventions (optional)
|
| InvalidTermError.InvalidTypeLambdaParameterName |
A type lambda parameter name violating naming conventions (optional)
|
| InvalidTermError.NestedTermAnnotation |
Nested term annotations that should be merged (optional)
|
| InvalidTermError.RedundantWrapUnwrap |
A no-op unwrap-of-wrap round-trip (optional)
|
| InvalidTermError.SelfApplication |
A variable applied to itself (optional)
|
| InvalidTermError.TermVariableShadowing |
A binding that shadows a variable already in scope (optional)
|
| InvalidTermError.TypeVariableShadowingInTypeLambda |
A type lambda parameter that shadows a type variable in scope (optional)
|
| InvalidTermError.UndefinedTermVariable |
A variable reference to an unbound term name
|
| InvalidTermError.UndefinedTypeVariableInBindingType |
An unbound type variable in a let binding's type scheme
|
| InvalidTermError.UndefinedTypeVariableInLambdaDomain |
An unbound type variable in a lambda domain annotation
|
| InvalidTermError.UndefinedTypeVariableInTypeApplication |
An unbound type variable in a type application term
|
| InvalidTermError.UnknownPrimitiveName |
A reference to an unknown primitive function
|
| InvalidTermError.UnnecessaryIdentityApplication |
An identity lambda applied to an argument (optional)
|
| InvalidTermError.UntypedTermVariable |
A term variable whose type is not known
|
| InvalidTypeError |
An error indicating that a type is invalid
|
| InvalidTypeError.DuplicateRecordTypeFieldNames |
A record type with duplicate field names
|
| InvalidTypeError.DuplicateUnionTypeFieldNames |
A union type with duplicate field names
|
| InvalidTypeError.EmptyRecordType |
A record type with no fields (optional)
|
| InvalidTypeError.EmptyTypeAnnotation |
A type annotation with an empty annotation map (optional)
|
| InvalidTypeError.EmptyUnionType |
A union type with no alternatives (optional)
|
| InvalidTypeError.InvalidForallParameterName |
A forall parameter name violating naming conventions (optional)
|
| InvalidTypeError.InvalidTypeSchemeVariableName |
A type scheme variable name violating naming conventions (optional)
|
| InvalidTypeError.NestedTypeAnnotation |
Nested type annotations that should be merged (optional)
|
| InvalidTypeError.NonComparableMapKeyType |
A map with a non-comparable key type
|
| InvalidTypeError.NonComparableSetElementType |
A set with a non-comparable element type
|
| InvalidTypeError.SingleVariantUnion |
A union type with only one variant (optional)
|
| InvalidTypeError.TypeVariableShadowingInForall |
A forall parameter that shadows a type variable in scope (optional)
|
| InvalidTypeError.UndefinedTypeVariable |
A type variable reference to an unbound name
|
| InvalidTypeError.VoidInNonBottomPosition |
TypeVoid in a position where no value can be constructed (optional)
|
| InvalidTypeLambdaParameterNameError |
A type lambda parameter name that violates naming conventions (optional)
|
| InvalidTypeSchemeVariableNameError |
A type scheme variable name that violates type variable naming conventions (optional)
|
| NestedTermAnnotationError |
A term annotation directly wrapping another term annotation; annotations should be merged (optional)
|
| NestedTypeAnnotationError |
A type annotation directly wrapping another type annotation; annotations should be merged (optional)
|
| NonComparableMapKeyTypeError |
A map type whose key type is or directly contains a function type, which cannot be compared for equality
|
| NonComparableSetElementTypeError |
A set type whose element type is or directly contains a function type, which cannot be compared for equality
|
| RedundantWrapUnwrapError |
An unwrap elimination applied to a wrap term of the same type, forming a no-op round-trip (optional)
|
| SelfApplicationError |
A variable applied to itself, which is almost always a mistake in Hydra's type system (optional)
|
| SingleVariantUnionError |
A union type with exactly one field; could be a wrapped type or record instead (optional)
|
| TermVariableShadowingError |
A lambda parameter or let binding name that shadows a variable already in scope (optional)
|
| TypeVariableShadowingInForallError |
A forall type parameter that shadows a type variable already in scope (optional)
|
| TypeVariableShadowingInTypeLambdaError |
A type lambda parameter that shadows a type variable already in scope (optional)
|
| UndefinedFieldError |
A reference to a field that does not exist in the given type
|
| UndefinedTermVariableError |
A variable reference to a term name that is not bound in scope
|
| UndefinedTypeVariableError |
A type variable reference to a name that is not bound in scope
|
| UndefinedTypeVariableInBindingTypeError |
A type variable in a let binding's type scheme that is not bound by the scheme or enclosing scope
|
| UndefinedTypeVariableInLambdaDomainError |
A type variable in a lambda domain annotation that is not bound in scope
|
| UndefinedTypeVariableInTypeApplicationError |
A type variable in a type application term that is not bound in scope
|
| UnexpectedTermVariantError |
An unexpected term variant was encountered
|
| UnexpectedTypeVariantError |
An unexpected type variant was encountered
|
| UnknownPrimitiveNameError |
A primitive function reference to a name not in the known primitive registry
|
| UnnecessaryIdentityApplicationError |
An application of an identity lambda to an argument, which simplifies to the argument (optional)
|
| UntypedTermVariableError |
A term variable whose type is not known in the current scope
|
| VoidInNonBottomPositionError |
TypeVoid appearing in a position where no value can be constructed, such as a record field, list element, map key/value, set element, pair component, or function codomain (optional)
|