module Abstract_domain:sig
..end
module type Lattice =sig
..end
module type Queries =sig
..end
module type Transfer =sig
..end
module type Logic =sig
..end
module type Valuation =sig
..end
module type S =sig
..end
type'a
key ='a Structure.Key_Domain.k
type'a
structure ='a Structure.Key_Domain.structure
=
| |
Void : |
| |
Leaf : |
| |
Node : |
let key = Structure.Key_Domain.create_key "name_of_the_domain";;
let structure = Leaf key;;
Then, the key should be exported by the domain, to allow the use of the
functions defined in the Abstract_domain.External
interface below.
A compound domain may use the Node
constructor to provide a separate
access to each of its parts.
A domain can also use the Void
constructor to prevent access to itself.
module type Internal =sig
..end
module type External =sig
..end