- Type clash
- for variable ... in rule ...
This error indicates an inconsistency between declared types; a variable can not belong to two types. See static type checking.
- Invalid functor
- in head ... of rule ...
This error indicates an inconsistency between a declared type and the use of a functor in a rule. See static type checking.
- Cyclic alias
- definition: ... == ...
You have defined a type alias in terms of itself, either directly or indirectly.
- Ambiguous type aliases
You have defined two overlapping type aliases.
- Multiple definitions
- for type
You have defined the same type multiple times.
- Non-ground type
- in constraint definition: ...
You have declared a non-ground type for a constraint argument.
- Could not find type definition
- for ...
You have used an undefined type in a type declaration.
- Illegal mode/type declaration
You have used invalid syntax in a constraint declaration.
- Constraint multiply defined
There is more than one declaration for the same constraint.
- Undeclared constraint
- ... in head of ...
You have used an undeclared constraint in the head of a rule. This often indicates a misspelled constraint name or wrong number of arguments.
- Invalid pragma
- ... in ... Pragma should not be a variable.
You have used a variable as a pragma in a rule. This is not allowed.
- Invalid identifier
- ... in pragma passive in ...
You have used an identifier in a passive pragma that does not correspond to an identifier in the head of the rule. Likely the identifier name is misspelled.
- Unknown pragma
- ... in ...
You have used an unknown pragma in a rule. Likely the pragma is misspelled or not supported.
- Something unexpected
- happened in the CHR compiler
You have most likely bumped into a bug in the CHR compiler. Please contact Tom Schrijvers to notify him of this error.