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. Gets a type module
and an observer module a functor parameters.
module TVar: sig
.. end
module LSVar: sig
.. end
with type elm = LSet.t
module PrVar: sig
.. end
module ObjectType: sig
.. end
module OTVar: MapVar.S
with type I.img = TVar.t
and type I.key = Syntax.label
module LEVar: sig
.. end
with type I.img = OTVar.t
and type I.key = Loc.t
and type domain_var = LSVar.t