Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Ego
SourceEgo is an extensible egraph library for OCaml. The interface to Ego is loosely based on the Rust's egg library and reimplements their EClass analysis in pure OCaml.
Ego provides two interfaces to its equality saturation engine:
1. Ego.Basic
- an out-of-the-box interface to pure equality saturation (i.e supporting only syntactic rewrites).
2. Ego.Generic
- a higher order interface to equality saturation, parameterised over custom-user defined analyses.
You may want to check out the quick start guide.
This module implements a fairly efficient "syntactic-rewrite-only" EGraph-based equality saturation engine that operates over Sexps.