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