package ego

  1. Overview
  2. Docs

The module Scheduler provides implementations of some generic schedulers for Ego's equality saturation engine.

See Make.BuildRunner on how to compose a schedule with an EGraph definition.

module Backoff : sig ... end

The module Backoff implements an exponential backoff scheduler. The scheduler works by tracking a maximum match limit, and (BEB) banning rules which exceed their limit.

module Simple : sig ... end

The module Simple implements a scheduler that runs every rule each time - i.e applies no scheduling at all. This works fine for rewrite systems with a finite number of EClasses but can become a problem if the number of EClasses is too large or unbounded.