Preface_specs.Join_semilatticeA Join_semilattice capture the notion of a set with least upper bound. A join semilattice is an idempotent commutative semigroup.
To have a predictable behaviour, the instance of Join_semilattice must obey some laws.
join a (join b c) = join (join a b) cjoin a b = join b ajoin a a = amodule type WITH_JOIN = sig ... endmodule type CORE = WITH_JOINBasis operations.
module type INFIX = sig ... endInfix operators.
module type API = sig ... endThe complete interface of a Join_semillatice.