Mardukml_lib.TypingCopyright 2026, Kirill K. Smirnov
SPDX-License-Identifier: LGPL-3.0-or-later
val initial_context : (string * Ast.mltype) listval subst_var : int -> Ast.qf_mltype -> Ast.qf_mltype -> Ast.qf_mltypeval instantiate : Ast.mltype -> int -> Ast.qf_mltype * intval quantify :
Ast.mltype ->
(string * Ast.mltype) list ->
int ->
(Ast.qf_mltype * int list) * intval apply_subst :
(int * Ast.qf_mltype) list ->
Ast.mltype ->
Ast.qf_mltype * int listval apply_subst_ctx :
(int * Ast.qf_mltype) list ->
('a * Ast.mltype) list ->
('a * (Ast.qf_mltype * int list)) listval occurs : int -> Ast.qf_mltype -> boolval unify :
(Ast.qf_mltype * Ast.qf_mltype) list ->
(int * Ast.qf_mltype) list optionval hm_typechecker : Ast.mlterm -> Ast.mltype