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.