Module type Dalton.Make.SCHEME_ROOT


module type SCHEME_ROOT = sig  end
A (type) scheme is made of a constraint set and a series of entry nodes, its roots. The same instance of the library may deal with several form of schemes. Each of them has to be described by an implementation of the signature SCHEME_ROOT.


type t
The type of schemes.

val cset : t -> Dalton.Make.cset
cset sh returns the constraint set of the scheme sh.
val copy : Dalton.Make.cset ->
(Dalton.Make.node -> Dalton.Make.node) ->
t -> t
copy cset' f sh creates a new scheme sh' as follows:
val iter : (Dalton_aux.variance -> Dalton.Make.node -> unit) ->
t -> unit
iter f sh applies f on every root of sh (with the variance of the root as first argument).
val iter2 : (Dalton_aux.variance -> Dalton.Make.node -> Dalton.Make.node -> unit) ->
t -> t -> unit
iter2 f sh1 sh2 applieas f on every pair of corresponding roots of sh1 and sh2 (with the variance of the roots as first argument).
val fprint : Format.formatter ->
Dalton.Make.cset Dalton_aux.printer ->
(Dalton_aux.variance -> Format.formatter -> Dalton.Make.node -> unit) ->
t -> unit
fprint ppf print_cset print_node sh pretty prints the scheme sh on the formatter ppf. Two functions are provided as argument to allow printing of information handled by the solver: