


The compiler Unify_Types api defines access to unify functionality for type deduction. Mythryl uses Prolog-style “unification” to perform type deduction; this module implements the needed unify_types operation.
The Unify_Types api is implemented by the unify_types package.
The Unify_Types api source code is in src/lib/compiler/front/typer/types/unify-types.pkg.
The above information is manually maintained and may contain errors.
api { Unify_Fail
= CIRCULARITY
| LITERAL_TYPE_MISMATCH types::Type_Variable
| NEED_EQUALITY_TYPE
| OVERLOADED_TYPE_VARIABLE_MISMATCH
| RECORD_FIELD_LABELS_MISMATCH
| TYPE_MISMATCH (types::Type , types::Type)
| TYP_MISMATCH (types::Typ , types::Typ)
| USER_TYPE_VARIABLE_MISMATCH types::Type_Variable;
exception UNIFY_TYPES Unify_Fail;
fail_message : Unify_Fail -> String;
unify_types : (String , String , types::Type , types::Type
, List(String ))
-> Void;
debugging : Ref(Bool );
};


