PreviousUpNext

14.5.48  Unify_Types

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 );
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext