File tree Expand file tree Collapse file tree 3 files changed +9
-2
lines changed Expand file tree Collapse file tree 3 files changed +9
-2
lines changed Original file line number Diff line number Diff line change 2
2
3
3
## Unreleased
4
4
5
+ ## 0.3.0.0 -- 2022-12-09
6
+
5
7
* A better ` Analysis ` tutorial in the README.
6
8
7
9
* Complete ` Analysis ` redesign.
26
28
* An ` EGraph ` now also has two type parameters instead of one (the latter is
27
29
the language is the former the domain of the analysis).
28
30
31
+ * Allow customization of Schedulers through parameters (by accepting a scheduler
32
+ rather than a proxy for it)
33
+
29
34
## 0.2.0.0 -- 2022-09-19
30
35
31
36
* Expose ` runEqualitySaturation ` to run equality saturation on existing e-graphs
Original file line number Diff line number Diff line change 1
1
cabal-version : 2.4
2
2
name : hegg
3
- version : 0.2 .0.0
4
- Tested-With : GHC == 9.4.1 || == 9.2.2 || == 9.0.2 || == 8.10.7
3
+ version : 0.3 .0.0
4
+ Tested-With : GHC == 9.4.2 || == 9.2.2 || == 9.0.2 || == 8.10.7
5
5
synopsis : Fast equality saturation in Haskell
6
6
7
7
description : Fast equality saturation and equality graphs based on "egg :
Original file line number Diff line number Diff line change @@ -62,6 +62,8 @@ import Data.Equality.Utils
62
62
-- instance Ord1 l => Monoid (EGraph l) where
63
63
-- mempty = EGraph emptyUF mempty mempty mempty
64
64
65
+ -- | Represent an expression (in it's fixed point form) in an e-graph.
66
+ -- Returns the updated e-graph and the id from the e-class in which it was represented.
65
67
represent :: forall a l . (Analysis a l , Language l ) => Fix l -> EGraph a l -> (ClassId , EGraph a l )
66
68
represent = cata (flip $ \ e -> uncurry add . first Node . (`runState` e) . traverse (gets >=> \ (x,e') -> x <$ put e'))
67
69
You can’t perform that action at this time.
0 commit comments