module Gen: sig .. end
Module that generates the constraints for
expressions, serious expressions and values
exception NoLetAnnotation of string
type result = {
|
typevar : Inf.Vars.TVar.t; |
}
type changed = {
|
location : Inf.Type.phi; |
|
lenv : Inf.Vars.LEVar.t; |
|
tenv : TEnv.t; |
}
val create_e : TEnv.t -> Inf.Vars.LEVar.t -> Syntax.e -> result * changed
create the constraints for an expression
val create_s : TEnv.t ->
Inf.Vars.LEVar.t ->
Syntax.s -> result * Inf.Type.phi * Inf.Vars.LEVar.t
create the constraints for a serious expression
val create_v : TEnv.t -> Inf.Vars.LEVar.t -> Syntax.v -> result
create the constraints for a value