Module AltErgoLib.Domains_intf

module X = Shostak.Combine
module type OrderedType = sig ... end

Module signature for an ordered type equipped with a compare function.

module type ComparableType = sig ... end

Module signature combining OrderedType and Hashtbl.HashedType.

module type Domain = sig ... end
module type EphemeralDomainMap = sig ... end

This module provides a signature for ephemeral domain maps: imperative mappings from some key type to a domain type.

module type EntryNotation = sig ... end
module type NormalForm = sig ... end

Module signature for normal form computations.

type ('a, 'c, 'w) events = {
  1. evt_atomic_change : 'a -> unit;
  2. evt_composite_change : 'c -> unit;
    (*

    Called by the ephemeral interface when the domain associated with a variable changes.

    *)
  3. evt_watch_trigger : 'w -> unit;
    (*

    Called by the ephemeral interface when a watcher is triggered.

    *)
}

Handlers for events used by the ephemeral interface.

module type S = sig ... end