functor (T : Nunchaku_core.TermTyped.S) ->
sig
type term = T.t
type env
val empty_env : TypeInference.Convert.env
val convert_ty :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.ty ->
TypeInference.Convert.term TypeInference.or_error
val convert_ty_exn :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.ty -> TypeInference.Convert.term
val convert_term :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.term ->
TypeInference.Convert.term TypeInference.or_error
val convert_term_exn :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.term -> TypeInference.Convert.term
val generalize :
close:[ `Forall | `Fun | `NoClose ] ->
TypeInference.Convert.term ->
TypeInference.Convert.term *
TypeInference.Convert.term TypeInference.var list
type statement =
(TypeInference.Convert.term, TypeInference.Convert.term)
Nunchaku_core.Statement.t
val convert_statement :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.statement ->
(TypeInference.Convert.statement * TypeInference.Convert.env)
TypeInference.or_error
val convert_statement_exn :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.statement ->
TypeInference.Convert.statement * TypeInference.Convert.env
type problem =
(TypeInference.Convert.term, TypeInference.Convert.term)
Nunchaku_core.Problem.t
val convert_problem :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.statement CCVector.ro_vector ->
(TypeInference.Convert.problem * TypeInference.Convert.env)
TypeInference.or_error
val convert_problem_exn :
env:TypeInference.Convert.env ->
Nunchaku_core.UntypedAST.statement CCVector.ro_vector ->
TypeInference.Convert.problem * TypeInference.Convert.env
end