hegg
Version 0.3.0.0 revision 1 uploaded by phadej.
Package meta
- Synopsis
- Fast equality saturation in Haskell
- Description
Fast equality saturation and equality graphs based on "egg: Fast and Extensible Equality Saturation" and "Relational E-matching".
This package provides e-graphs (see Data.Equality.Graph), a data structure which efficiently represents a congruence relation over many expressions.
For a monadic interface to e-graphs check out Data.Equality.Graph.Monad (home to the convenient function represent).
Secondly, it provides functions for doing equality saturation (see Data.Equality.Saturation), an optimization/term-rewriting technique that applies rewrite rules non-destructively to an expression represented in an e-graph until saturation, and then extracts the best representation.
Equality matching (see Data.Equality.Matching) is done as described in "Relational E-Matching"
For a walkthrough of writing a simple symbolic simplification program see the hegg symbolic tutorial.
Additional information can be found in the README.
- Author
- Rodrigo Mesquita <romes>
- Bug reports
- https://github.com/alt-romes/hegg/issues
- Category
- Data
- Copyright
- Copyright (C) 2022 Rodrigo Mesquita
- Homepage
- https://github.com/alt-romes/hegg
- Maintainer
- Rodrigo Mesquita <rodrigo.m.mesquita@gmail.com>
- Package URL
- n/a
- Stability
- n/a