tmoux / ego

EGraphs in OCaml

Home Page:https://verse-lab.github.io/ego/ego/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ego - EGraphs in OCaml

Ego (EGraphs OCaml) is an OCaml library that provides generic equality saturation using EGraphs.

The design of Ego loosely follows the design of Rust's egg library, providing a flexible interface to run equality saturation extended with custom user-defined analyses.

(* create an egraph *)
let graph = EGraph.init ()
(* add expressions *)
let expr1 = EGraph.add_sexp graph [%s ((a << 1) / 2)]
(* Convert to graphviz *)
let g : Odot.graph = EGraph.to_dot graph

About

EGraphs in OCaml

https://verse-lab.github.io/ego/ego/index.html

License:GNU General Public License v3.0


Languages

Language:OCaml 100.0%