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 haskell e-graphs good, 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)
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,