Module Gvars


module Gvars: sig .. end
The module provides a functor that allows creating a variable module with an observer. Throw the first functor parameter the type module is set.

module type VARS = sig .. end
Constrains variables needed for the inference
module type TYPE = sig .. end
module Make: 
functor (Obs : GenVars.OBSERVER) ->
functor (Type : TYPE with type obs = Obs.t) ->
functor (State : GenVars.STATE with type obs = Obs.t) -> VARS with type TVar.elm = Type.t and type PrVar.elm = Pre.t and type TVar.obs = Obs.t and type LSVar.obs = Obs.t and type PrVar.obs = Obs.t and type OTVar.obs = Obs.t and type LEVar.obs = Obs.t
Functor that creates the variables.