Module Gen.Gen


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