I’m happy to announce the first release of the library `hegg-0.1`

on hackage: hegg: Fast equality saturation in Haskell !

`hegg`

stands for **h**askell **e**-**g**raphs **g**ood, and it’s a library featuring *e-graphs* (a data structure that *efficiently represents a congruence relation over many expressions*) and a high level API for *equality saturation* (an optimization/term-rewriting technique)

It is a pure haskell implementation found on two recent awesome papers: egg: Fast and Extensible Equality Saturation (2020) and Relational E-matching (2021).

I’d love to see what you might come up with leveraging e-graphs and equality saturation (there’s a world of applications – check out the papers and other resources), so do let me know about your efforts and how the library could be improved.

I’ve spent a long while optimizing and making the e-graphs and equality saturation considerably performant. So we are already pretty fast! (according to my symbolic rewriting tests). I’d love to see more involved use cases, because I still see many opportunities for improving performance, and would love to take them when justified by bigger numbers and applications!

I’ll be happy to clarify anything,

Thank you,

Rodrigo