IntDomain_intfmodule type Arith = sig ... endmodule type ArithIkind = sig ... endmodule type B = sig ... endThe signature of integral value domains. They need to support all integer * operations that are allowed in C
module type IkindUnawareS = sig ... endInterface of IntDomain implementations that do not take ikinds for arithmetic operations yet. TODO: Should be ported to S in the future.
module type S = sig ... endInterface of IntDomain implementations taking an ikind for arithmetic operations
module type S2 = sig ... endmodule type SOverflow = sig ... endmodule type Y = sig ... endThe signature of integral value domains keeping track of ikind information
module type Ikind = sig ... endmodule type IntDomain = sig ... end