sig
exception TypingError of Positions.position
exception UnboundIdentifier of Positions.position * string
exception CannotGeneralize of Positions.position * Constraint.variable
exception NonDistinctVariables of Positions.position *
Constraint.variable list
type environment
type tconstraint =
(Constraint.crterm, Constraint.variable) Constraint.type_constraint
type solving_step =
Init of MiniSolver.tconstraint
| Solve of MiniSolver.tconstraint
| Solved of MiniSolver.tconstraint
| UnifyTerms of Constraint.crterm * Constraint.crterm
| UnifyVars of Constraint.variable * Constraint.variable
| Generalize of int * Constraint.variable list
val solve :
?tracer:(MiniSolver.solving_step -> unit) ->
MiniSolver.tconstraint -> MiniSolver.environment
val environment_as_list :
MiniSolver.environment -> (string * Constraint.variable) list
val print_env :
?use_user_def:'a ->
(Constraint.variable -> string) -> MiniSolver.environment -> unit
val print_env_task : string
val register_tasks : (Constraint.variable -> string) -> unit
end